Join 元素(视图)

上次修改时间: 2015年3月9日

适用范围: SharePoint Foundation 2010

本文内容
属性
子元素
父元素
出现次数

用于联接两个查询列表。

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

属性

属性

说明

类型

必选项。"LEFT"表示左外部联接。"INNER"表示内部联接。

ListAlias

可选项。指定外部列表的备用名称。当同一列表存在两个联接时,这可能非常有用。此时,需要使用不同的别名来区分这两个联接。

无需明确将别名映射到外部列表的实际名称,这是因为只允许通过查阅字段关系进行联接,而外部列表是在查阅字段定义中指定的。

在 Join 元素中定义该值后,它将在以下两个位置用作 List 属性的值:

  • FieldRef 元素中,该元素是 Join 元素的 Eq 元素的子元素。

  • Field 元素中,该元素是 ProjectedFields 元素的子元素。

子元素

Eq

父元素

Joins

出现次数

最少: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>