Join 要素 (ビュー)
適用対象: SharePoint 2016 |SharePoint Foundation 2013 |SharePoint Online |SharePoint Server 2013
クエリのために 2 つのリストを結合するのに使用します。
<Join Type= "LEFT" | "INNER" ListAlias= "TEXT"></Join>
要素と属性
以下のセクションで、属性、子要素、親要素について説明します。
属性
属性 | 説明 |
---|---|
種類 |
必須です。 "LEFT" は左外部結合を意味します。 "INNER" は、内部結合を意味します。 |
ListAlias |
オプション。 外部リストの代替名を指定します。 これは同じリストへの結合が 2 つあるときに便利です。 それらの結合を区別するためには、異なるエイリアスが必要です。 外部リストの実際の名前にエイリアスを明示的にマップする必要はありません。結合はルックアップ フィールドの関係でのみ許可され、外部リストはルックアップ フィールド定義で指定されるためです。 この値を Join 要素内で定義した場合、これは次の 2 か所で List 属性の値として使用されます。 - Join 要素の Eq 要素の子である FieldRef 要素。 - ProjectedFields 要素の子である Field 要素。 |
子要素
親要素
Occurrences
- 最小: 1
- Maximum: クエリ対象のプライマリ リストを含む SPWebApplication オブジェクトの MaxQueryLookupFields プロパティの値。 システムの既定値は 8。
注釈
Join 要素は、SQL JOIN 要素に変換されます。 Join 要素は、結合を行うための主フィールドと外部フィールドを指定するために、Eq 要素をリファクターします。 主フィールドは、外部フィールドに対するルックアップ フィールドとして定義しなければなりません。
例
次に、2 つの Join 要素の例を示します。どちらも左外部結合です。 CustomerName は Orders リストのルックアップ フィールドです。 Customers リストの ID フィールドを参照します。 Customer リストは、次に、Cities リストへのルックアップ フィールドである CityName フィールドを持ちます。
最初の Join 要素は、Customers リストのエイリアスとして "customers" を割り当てます。 Eq 要素の子は、ルックアップ関係を構成するソース フィールドとターゲット フィールドと同じフィールドを使用して、結合を定義しています。 2 番目の 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>