Freigeben über


WITH -- AS Group Alias Prädikat

Spaltengruppenaliasen bieten eine Möglichkeit, kürzere Namen anstelle des Namens einer Spalte oder einer Gruppe von Spalten zu verwenden. Das optionale Gruppenalias-Prädikat ist Teil der WHERE-Klausel. Die Syntax folgt:

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

Sie können mehrere Gruppenalias angeben und das WITH trennen... AS-Prädikate durch Kommas.

Wenn in einem WHERE-Klausel-Prädikat auf einen Gruppenalias verwiesen wird, wird die Bedingung auf jede Spalte in der Gruppe angewendet. Die wahrheitslogischen Werte, die sich aus der Übereinstimmung mit den einzelnen Spalten ergeben, werden mithilfe des logischen OR- Operators kombiniert.

Ein Alias muss definiert werden, bevor er verwendet werden kann, und er kann nur innerhalb der WHERE-Klausel verwendet werden. Der Aliasname muss ein regulärer Bezeichner sein, dem ein erforderliches Nummernzeichen (#) vorangestellt ist.

Der Spaltenbezeichner kann einen oder mehrere Spaltenbezeichner enthalten, getrennt durch Kommas. Die Liste der Spalten muss in Klammern eingeschlossen werden, und die Gewichtung kann jedem zugewiesen werden. Jede Spalte weist die folgende Syntax auf:

<column_identifier> [<weight_assignment>]

Informationen zum Angeben von Spaltenstärken finden Sie unter FREETEXT-Prädikat und CONTAINS-Prädikat.

Der Spaltenbezeichner kann normal oder durch Trennzeichen getrennt werden.

Beispiele

Die folgenden WHERE-Klauselbeispiele veranschaulichen, wann und wie Sie das Gruppenalias-Prädikat verwenden können. Das erste Beispiel zeigt eine sich wiederholende WHERE-Klausel, die keine Gruppenaliasing verwendet.

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

Das vorangehende Beispiel kann mithilfe eines Gruppenalias vereinfacht werden, wie im folgenden Beispiel gezeigt.

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

Im Folgenden sehen Sie ein Beispiel für eine positive Gewichtung, bei der die eigenschaft Title beim Bestimmen der relativen Rangfolge mehr Gewicht erhält.

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

Nachfolgend sehen Sie ein Beispiel für eine negative Gewichtung, bei der die Title-Eigenschaft mit der Gewichtung 0 nicht berücksichtigt wird.

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

Referenz-

FREETEXT-Prädikat

Konzeptionelle

Full-Text Prädikate

Nicht-Full-Text Prädikate