Share via


WITH -- AS グループエイリアス述語

列グループの別名は、列の名前または列のグループの代わりに短い名前を使用する方法を提供します。 省略可能なグループ エイリアス述語は、WHERE 句の一部です。 その構文は次のとおりです。

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

WITH..を区切って、複数のグループ エイリアスを指定できます。コンマによる AS 述語。

WHERE 句述語でグループエイリアスが参照されている場合、条件はグループ内の各列に適用されます。 各列の照合に起因する論理値は、論理 OR 演算子を使用して結合されます。

エイリアスは、使用する前に定義する必要があり、WHERE 句内でのみ使用できます。 エイリアス名は、必要なポンド記号 (#) の前に通常の識別子を付ける必要があります。

列指定子には、コンマで区切られた 1 つ以上の列指定子を含めることができます。 列のリストはかっこで囲む必要があり、それぞれに重み付けを割り当てることができます。 各列には、次の構文があります。

<column_identifier> [<weight_assignment>]

列の重みの指定については、「 FREETEXT 述語 」および「 CONTAINS 述語」を参照してください。

列識別子は、標準または区切りにすることができます。

次の WHERE 句の例は、グループ エイリアス述語を使用できるタイミングと方法を示しています。 最初の例では、グループのエイリアシングを使用しない、より反復的な WHERE 句を示します。

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

上記の例は、次の例に示すように、グループ エイリアスを使用して簡略化できます。

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

次に、相対ランクを決定する際に Title プロパティにより多くの重みが与えられる正の重み付けの例を示します。

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

重みが 0 の Title プロパティが考慮されない負の重みの例を次に示します。

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

リファレンス

FREETEXT 述語

概念

フルテキスト述語

非フルテキスト述語