Join 元素 (视图)

适用于: SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013

用于联接两个查询列表。

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

元素和属性

下面各部分介绍了属性、子元素和父元素。

Attributes

属性 说明
类型
必需。 “LEFT”表示左外部联接。 “INNER”表示内部联接。
ListAlias
可选项。指定外部列表的备用名称。当同一列表存在两个联接时,这可能非常有用。此时,需要使用不同的别名来区分这两个联接。

无需将别名显式映射到外列表的实名,因为只允许通过查阅字段关系加入,并且在查阅字段定义中指定了外列表。

Join 元素中定义该值后,它将在以下两个位置用作 List 属性的值:
- 在 FieldRef 元素中,该元素是 Join 元素 的 Eq 元素的子元素。
- 在作为 ProjectedFields 元素子元素的 Field 元素中。

子元素

父元素

出现次数

备注

Join 元素可转换为 SQL JOIN 语句。 Join 元素可重构 Eq 元素,以指定要进行联接的主要字段和外部字段。 必须将主要字段定义为外部字段的查阅字段。

示例

下面是两个 Join 元素的示例;这两个元素都是左外部联接。 CustomerName 是 Orders 列表上的查阅字段。 它查阅 Customers 列表的 ID 字段。 而 Customer 列表具有一个 CityName 字段,该字段又是 Cities 列表的查阅字段。

第一个 Join 元素将“客户”分配为“客户”列表的别名。 Eq 元素的子元素定义使用构成查阅关系的相同源和目标字段的联接。 第二个 Join 元素将“customerCities”作为别名分配到“城市”列表。 它定义与 Customer 和 Cities 列表之间的现有查阅关系平行的联接。

别名对列表而言非常重要,因为同一列表上可能存在多个联接,需要使用不同的别名区分这些联接。 例如,除了从 Orders 到 Customer 以及从 Customer 到 Cities 的联接外,可能还存在从 Orders 到 Suppliers 以及从 Suppliers 到 Cities 的联接。 对于上次联接,将从用于客户到城市联接的别名(例如“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>