WITH -- Predicado de Alias do Grupo AS
Os aliases de grupo de colunas fornecem uma maneira de usar nomes mais curtos no lugar do nome de uma coluna ou de um grupo de colunas. O predicado de alias de grupo opcional faz parte da cláusula WHERE. Sua sintaxe segue:
...WHERE[ WITH(<columns>) AS #<alias_name>]
[,WITH(<columns>) AS #<alias_name>]
Você pode especificar mais de um alias de grupo, separando WITH... Predicados as por vírgulas.
Quando um alias de grupo é referenciado em um predicado de cláusula WHERE, a condição é aplicada a cada coluna no grupo. Os valores lógicos resultantes da correspondência de cada coluna são combinados usando o operador OR lógico.
Um alias deve ser definido antes de poder ser usado e pode ser usado somente dentro da cláusula WHERE. O nome do alias deve ser um identificador regular precedido por um sinal de libra necessário (#).
O especificador de coluna pode conter um ou mais especificadores de coluna, separados por vírgulas. A lista de colunas deve estar entre parênteses e a ponderação pode ser atribuída a cada uma delas. Cada coluna tem a seguinte sintaxe:
<column_identifier> [<weight_assignment>]
Para obter informações sobre como especificar pesos de coluna, consulte Predicado FREETEXT e Predicado CONTAINS.
O identificador de coluna pode ser regular ou delimitado.
Exemplos
Os exemplos de cláusula WHERE a seguir demonstram quando e como você pode usar o predicado de alias de grupo. O primeiro exemplo mostra uma cláusula WHERE mais repetitiva que não usa alias de grupo.
...WHERE
FREETEXT("System.ItemNameDisplay",'"computer software"')
OR
FREETEXT("System.Title",'"computer software"')
OR
FREETEXT("System.Keywords",'"computer software"')
O exemplo anterior pode ser simplificado usando um alias de grupo, conforme mostrado no exemplo a seguir.
...WHERE
WITH("System.ItemNameDisplay","System.Title","System.Keywords")
AS #Doc-Descriptions
FREETEXT(#Doc-Descriptions,'"computer software"')
Veja a seguir um exemplo de ponderação positiva em que a propriedade Title recebe mais peso na determinação da classificação relativa.
...WHERE
WITH("System.Title":0.8,*:0.5,
"System.Keywords")
AS #Doc-Descriptions
FREETEXT(#Doc-Descriptions,'"computer software"')
Veja a seguir um exemplo de ponderação negativa em que a propriedade Title com peso de 0 não é considerada.
...WHERE
WITH("System.Title":0,*:1.0,
"System.Keywords")
AS #Doc-Descriptions
FREETEXT(#Doc-Descriptions,'"computer software"')
Tópicos relacionados
-
Referência
-
Conceitual