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"')
関連トピック