Condividi tramite


WITH -- Predicato alias gruppo AS

Gli alias del gruppo di colonne consentono di usare nomi più brevi al posto del nome di una colonna o di un gruppo di colonne. Il predicato alias del gruppo facoltativo fa parte della clausola WHERE. La sintassi è la seguente:

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

È possibile specificare più alias di gruppo, separando WITH... Predicati AS in base a virgole.

Quando si fa riferimento a un alias di gruppo in un predicato di clausola WHERE, la condizione viene applicata a ogni colonna del gruppo. I valori logici risultanti dalla corrispondenza di ogni colonna vengono combinati usando l'operatore OR logico.

È necessario definire un alias prima di poterlo usare e può essere usato solo all'interno della clausola WHERE. Il nome dell'alias deve essere un identificatore regolare preceduto da un segno di cancelletto obbligatorio (#).

L'identificatore di colonna può contenere uno o più identificatori di colonna, separati da virgole. L'elenco delle colonne deve essere racchiuso tra parentesi e la ponderazione può essere assegnata a ognuna. Ogni colonna ha la sintassi seguente:

<column_identifier> [<weight_assignment>]

Per informazioni sulla specifica dei pesi delle colonne, vedere predicato FREETEXT e predicato CONTAINS.

L'identificatore di colonna può essere regolare o delimitato.

Esempi

Gli esempi di clausola WHERE seguenti illustrano quando e come è possibile usare il predicato alias di gruppo. Il primo esempio mostra una clausola WHERE più ripetitiva che non usa l'aliasing del gruppo.

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

L'esempio precedente può essere semplificato usando un alias di gruppo, come illustrato nell'esempio seguente.

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

Di seguito è riportato un esempio di ponderazione positiva in cui la proprietà Titolo viene data maggiore peso per determinare il rango relativo.

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

Di seguito è riportato un esempio di ponderazione negativa in cui la proprietà Titolo con peso pari a 0 non viene considerata.

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

riferimento

predicato FREETEXT

concettuale

predicati diFull-Text

predicati nonFull-Text