WITH - Предикат псевдонима группы AS
Псевдонимы групп столбцов позволяют использовать более короткие имена вместо имени столбца или группы столбцов. Необязательный предикат псевдонима группы является частью предложения WHERE. Его синтаксис выглядит следующим образом:
...WHERE[ WITH(<columns>) AS #<alias_name>]
[,WITH(<columns>) AS #<alias_name>]
Можно указать несколько псевдонимов групп, разделив with 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"')
Ниже приведен пример отрицательного весового коэффициента, в котором не учитывается свойство Title с весом 0.
...WHERE
WITH("System.Title":0,*:1.0,
"System.Keywords")
AS #Doc-Descriptions
FREETEXT(#Doc-Descriptions,'"computer software"')
Связанные темы
-
Reference
-
Основные понятия