WITH -- AS Group Alias Predicate

Spaltengruppenalias 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, wobei die WITH... 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 logischen Werte, die sich aus dem Übereinstimmen der 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 Pfundzeichen (#) vorangestellt ist.

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

<column_identifier> [<weight_assignment>]

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

Der Spaltenbezeichner kann normal oder durch Trennzeichen getrennt sein.

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 Gruppenaliasen verwendet.

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

Das vorherige Beispiel kann vereinfacht werden, indem ein Gruppenalias verwendet wird, wie im folgenden Beispiel gezeigt.

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

Es folgt ein Beispiel für eine positive Gewichtung, bei der der Title-Eigenschaft bei der Bestimmung des relativen Rangs eine größere Gewichtung zukommt.

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

Es folgt ein Beispiel für eine negative Gewichtung, bei der die Title-Eigenschaft mit der Gewichtung von 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

Konzept

Volltext-Prädikate

Prädikate ohne Volltext