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 Predicate.
Идентификатор столбца может быть регулярным или разделителем.
Примеры
В следующих примерах предложения 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"')
Связанные разделы
-
Справочник
-
концептуальные
-
предика ты, отличные отFull-Text