Поделиться через


Элемент Join (View)

Применимо к: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

Используется для объединения двух списков для запросов.

<Join   Type= "LEFT" | "INNER"  ListAlias= "TEXT"></Join>

Элементы и атрибуты

В разделах ниже приводится описание атрибутов, дочерних и родительских элементов.

Атрибуты

Атрибут Описание
Тип
Обязательно. "LEFT" означает левое внешнее соединение. "INNER" означает внутреннее соединение.
ListAlias
Необязательный параметр. Определяет альтернативное имя внешнего списка. Это полезно, если в одном списке два соединения. Различные псевдонимы нужны, чтобы отличать соединения.

Нет необходимости явно сопоставлять псевдоним с реальным именем внешнего списка, так как соединения разрешены только через отношение поля подстановки, а внешний список указывается в определении поля подстановки.

После задания значения в элементе Join, оно используется как значение атрибута List в двух местах.
— в элементе FieldRef , который является дочерним элементом Eq элемента Join .
— в элементе Field , который является дочерним элементом элемента ProjectedFields .

Дочерние элементы

Родительские элементы

Occurrences

  • Минимум: 1
  • Максимум: значение свойства MaxQueryLookupFields для объекта SPWebApplication , содержащего запрашиваемый первичный список. По умолчанию значение равно 8.

Замечания

Элемент Join переводится в оператор SQL JOIN. Элемент Join преобразует элемент Eq, чтобы определить основное и внешнее поле, в которых нужно создать соединение. Основное поле должно быть задано как поле подстановки для внешнего поля.

Пример

Далее представлен пример двух элементов Join; оба из них — левые внешние соединения. CustomerName — это поле подстановки в списке "Заказы". Оно просматривает поле ID списка заказчиков. У списка заказчиков, в свою очередь, есть поле CityName, поле подстановки для списка городов.

Первый элемент Join назначает "customers" в качестве псевдонима для списка Клиентов. Потомок элемента Eq определяет соединение с помощью тех же исходных и конечных полей, которые составляют связь подстановки. Второй элемент Join присваивает "customerCities" в качестве псевдонима списку Городов. Он определяет соединение параллельно существующей связи подстановки между списком заказчиков и списком городов.

Псевдонимы полезны для списков, так как в одном списке может быть несколько соединений и для их различия нужны разные псевдонимы. Например, в дополнение к соединениям заказов и заказчиков, и заказчиков и городов могут быть также соединения заказов и поставщиков, а также поставщиков и городов. В случае последнего соединения в список Городов будет присвоен другой псевдоним, например "supplierCities", из того, который используется для присоединения клиента к городам.

<Joins>
  <Join Type='LEFT' ListAlias='customers'>
    <Eq>
      <FieldRef Name='CustomerName' RefType='Id' />
      <FieldRef List='customers' Name='ID' />
    </Eq>
  </Join>
  <Join Type='LEFT' ListAlias='customerCities'>
    <Eq>
      <FieldRef List='customers' Name='CityName' RefType='Id' />
      <FieldRef List='customerCities' Name='ID' />
    </Eq>
  </Join>
</Joins>