Partager via


WITH -- AS Group Alias Predicate

Les alias de groupe de colonnes permettent d’utiliser des noms plus courts à la place du nom d’une colonne ou d’un groupe de colonnes. Le prédicat d’alias de groupe facultatif fait partie de la clause WHERE. Sa syntaxe est la suivante :

...WHERE[ WITH(<columns>) AS #<alias_name>]
[,WITH(<columns>) AS #<alias_name>]

Vous pouvez spécifier plusieurs alias de groupe, en séparant with... AS prédicats par virgules.

Lorsqu’un alias de groupe est référencé dans un prédicat de clause WHERE, la condition est appliquée à chaque colonne du groupe. Les valeurs logiques résultant de la correspondance de chaque colonne sont combinées à l’aide de l’opérateur LOGIQUE OR .

Un alias doit être défini avant de pouvoir être utilisé, et il ne peut être utilisé que dans la clause WHERE. Le nom de l’alias doit être un identificateur normal précédé d’un signe dièse obligatoire (#).

Le spécificateur de colonne peut contenir un ou plusieurs spécificateurs de colonne, séparés par des virgules. La liste des colonnes doit être placée entre parenthèses et une pondération peut être affectée à chacune d’elles. Chaque colonne a la syntaxe suivante :

<column_identifier> [<weight_assignment>]

Pour plus d’informations sur la spécification des pondérations de colonne, consultez Prédicat FREETEXT et Contains Predicate.

L’identificateur de colonne peut être régulier ou délimité.

Exemples

Les exemples de clause WHERE suivants montrent quand et comment vous pouvez utiliser le prédicat d’alias de groupe. Le premier exemple montre une clause WHERE plus répétitive qui n’utilise pas d’alias de groupe.

...WHERE
    FREETEXT("System.ItemNameDisplay",'"computer software"')
    OR
    FREETEXT("System.Title",'"computer software"')
    OR 
    FREETEXT("System.Keywords",'"computer software"')

L’exemple précédent peut être simplifié à l’aide d’un alias de groupe, comme illustré dans l’exemple suivant.

...WHERE
    WITH("System.ItemNameDisplay","System.Title","System.Keywords")
    AS #Doc-Descriptions
    FREETEXT(#Doc-Descriptions,'"computer software"')

Voici un exemple de pondération positive où la propriété Title reçoit plus de poids pour déterminer le rang relatif.

...WHERE
    WITH("System.Title":0.8,*:0.5,
         "System.Keywords")
    AS #Doc-Descriptions
    FREETEXT(#Doc-Descriptions,'"computer software"')

Voici un exemple de pondération négative où la propriété Title avec un poids de 0 n’est pas prise en compte.

...WHERE
    WITH("System.Title":0,*:1.0,
         "System.Keywords")
    AS #Doc-Descriptions
    FREETEXT(#Doc-Descriptions,'"computer software"')

Informations de référence

Prédicat FREETEXT

Conceptuel

Prédicats de texte intégral

Prédicats sans texte intégral