WITH: predicado de alias de grupo AS
Los alias de grupo de columnas proporcionan una manera de usar nombres más cortos en lugar del nombre de una columna o un grupo de columnas. El predicado de alias de grupo opcional forma parte de la cláusula WHERE. Su sintaxis es la siguiente:
...WHERE[ WITH(<columns>) AS #<alias_name>]
[,WITH(<columns>) AS #<alias_name>]
Puede especificar más de un alias de grupo, separando with... Predicados as por comas.
Cuando se hace referencia a un alias de grupo en un predicado de cláusula WHERE, la condición se aplica a cada columna del grupo. Los valores lógicos resultantes de la coincidencia de cada columna se combinan mediante el operador OR lógico.
Se debe definir un alias antes de que se pueda usar y solo se puede usar dentro de la cláusula WHERE. El nombre del alias debe ser un identificador normal precedido por un signo de libra requerido (#).
El especificador de columna puede contener uno o varios especificadores de columna, separados por comas. La lista de columnas se debe incluir entre paréntesis y la ponderación se puede asignar a cada una. Cada columna tiene la siguiente sintaxis:
<column_identifier> [<weight_assignment>]
Para obtener información sobre cómo especificar pesos de columna, vea Predicado FREETEXT y Predicado CONTAINS.
El identificador de columna puede ser normal o delimitado.
Ejemplos
Los siguientes ejemplos de cláusula WHERE muestran cuándo y cómo puede usar el predicado de alias de grupo. En el primer ejemplo se muestra una cláusula WHERE más repetitiva que no usa el alias de grupo.
...WHERE
FREETEXT("System.ItemNameDisplay",'"computer software"')
OR
FREETEXT("System.Title",'"computer software"')
OR
FREETEXT("System.Keywords",'"computer software"')
El ejemplo anterior se puede simplificar mediante un alias de grupo, como se muestra en el ejemplo siguiente.
...WHERE
WITH("System.ItemNameDisplay","System.Title","System.Keywords")
AS #Doc-Descriptions
FREETEXT(#Doc-Descriptions,'"computer software"')
A continuación se muestra un ejemplo de ponderación positiva en la que la propiedad Title tiene más peso para determinar la clasificación relativa.
...WHERE
WITH("System.Title":0.8,*:0.5,
"System.Keywords")
AS #Doc-Descriptions
FREETEXT(#Doc-Descriptions,'"computer software"')
A continuación se muestra un ejemplo de ponderación negativa en la que no se tiene en cuenta la propiedad Title con peso 0.
...WHERE
WITH("System.Title":0,*:1.0,
"System.Keywords")
AS #Doc-Descriptions
FREETEXT(#Doc-Descriptions,'"computer software"')
Temas relacionados
-
Referencia
-
Conceptual