Compartir a través de


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 sigue:

...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 lógico OR.

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 regular 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 debe incluirse 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 CONTAINS Predicado.

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 title tiene más peso al 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 un peso de 0.

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

de referencia de

de predicado FREETEXT

conceptual de

predicados deFull-Text

predicados noFull-Text