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"')
Argomenti correlati
-
riferimento
-
concettuale
-
predicati diFull-Text