Join 元素(视图)
上次修改时间: 2015年3月9日
适用范围: SharePoint Foundation 2010
本文内容
属性
子元素
父元素
出现次数
用于联接两个查询列表。
<Join Type= "LEFT" | "INNER" ListAlias= "TEXT"></Join>
属性
属性 |
说明 |
---|---|
类型 |
必选项。"LEFT"表示左外部联接。"INNER"表示内部联接。 |
ListAlias |
可选项。指定外部列表的备用名称。当同一列表存在两个联接时,这可能非常有用。此时,需要使用不同的别名来区分这两个联接。 无需明确将别名映射到外部列表的实际名称,这是因为只允许通过查阅字段关系进行联接,而外部列表是在查阅字段定义中指定的。 在 Join 元素中定义该值后,它将在以下两个位置用作 List 属性的值:
|
子元素
父元素
出现次数
最少:1 次 最多:包含要查询的主要列表的 SPWebApplication 对象的 MaxQueryLookupFields 属性值。系统默认值为 8。 |
备注
Join 元素可转换为 SQL JOIN 语句。Join 元素可重构 Eq 元素,以指定要进行联接的主要字段和外部字段。必须将主要字段定义为外部字段的查阅字段。
示例
下面是两个 Join 元素的示例;这两个元素都是左外部联接。CustomerName 是 Orders 列表上的查阅字段。它查阅 Customers 列表的 ID 字段。而 Customer 列表具有一个 CityName 字段,该字段又是 Cities 列表的查阅字段。第一个 Join 元素将"customers"指派为 Customers 列表的别名。Eq 元素的子元素定义使用构成查阅关系的相同源和目标字段的联接。第二个 Join 元素将"customerCities"指派为 Cities 列表的别名。它定义与 Customer 和 Cities 列表之间的现有查阅关系平行的联接。
别名对列表而言非常重要,因为同一列表上可能存在多个联接,需要使用不同的别名区分这些联接。例如,除了从 Orders 到 Customer 以及从 Customer 到 Cities 的联接外,可能还存在从 Orders 到 Suppliers 以及从 Suppliers 到 Cities 的联接。在最后一种联接中,将为 Cities 列表指派一个不同于从 Customer 到 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>