WITH -- AS 群組別名述詞
資料行群組別名可讓您使用較短的名稱來取代資料行或資料行群組的名稱。 選擇性群組別名述詞是 WHERE 子句的一部分。 其語法如下:
...WHERE[ WITH(<columns>) AS #<alias_name>]
[,WITH(<columns>) AS #<alias_name>]
您可以指定多個群組別名,以分隔 WITH...以逗號表示的 AS 述詞。
當 WHERE 子句述詞中參考群組別名時,條件會套用至群組中的每個資料行。 比對每個資料行所產生的邏輯值會使用邏輯 OR 運算子來結合。
必須先定義別名,才能使用它,而且只能在 WHERE 子句內使用。 別名名稱必須是前面加上必要磅號 (#) 的一般識別碼。
資料行規范可以包含一或多個資料行規范,並以逗號分隔。 資料行清單必須以括弧括住,而加權可以指派給每個資料行。 每個資料行都有下列語法:
<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"')
相關主題
-
參考
-
概念