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 元素中。 |
子元素
父元素
出现次数
- 最小值:1
- 最大值:包含要查询的主要列表的 SPWebApplication 对象的 MaxQueryLookupFields 属性的值。 系统默认值为 8。
备注
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>