次の方法で共有


Join 要素 (ビュー)

最終更新日: 2015年3月9日

適用対象: SharePoint Foundation 2010

この記事の内容
属性
子要素
親要素
出現回数

クエリのために 2 つのリストを結合するのに使用します。

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

属性

属性

説明

Type

必須。"LEFT" は左外部結合を意味します。"INNER" は内部結合を意味します。

ListAlias

オプション。外部リストの代替名を指定します。これは同じリストへの結合が 2 つあるときに便利です。それらの結合を区別するためには、異なるエイリアスが必要です。

エイリアスを外部リストの実際の名前に明示的にマッピングする必要はありません。なぜなら、結合はルックアップ フィールド関係によってのみ可能であり、外部リストはルックアップ フィールド定義で指定されるからです。

この値を Join 要素内で定義した場合、これは次の 2 か所で List 属性の値として使用されます。

子要素

Eq

親要素

Joins

出現回数

最小: 1

最大: クエリする主リストが含まれている SPWebApplication オブジェクトの MaxQueryLookupFields プロパティの値。システムの既定値は 8。

コメント

Join 要素は、SQL JOIN 要素に変換されます。Join 要素は、結合を行うための主フィールドと外部フィールドを指定するために、Eq 要素をリファクターします。主フィールドは、外部フィールドに対するルックアップ フィールドとして定義しなければなりません。

次の例は、2 つの Join 要素の例です。両方とも左外部結合です。CustomerName は Orders リストのルックアップ フィールドです。これは Customers リストの ID フィールドを参照します。Customer リストには、Cities リストに対するルックアップ フィールドである CityName フィールドがあります。最初の Join 要素では、Customers リストのエイリアスとして 'customers' を割り当てています。Eq 子要素で、ルックアップ関係を設定する同じソースとターゲットを使用して結合を定義しています。2 番目の Join 要素では、Cities リストのエイリアスとして "customerCities" を割り当てています。ここでは、Customer リストと Cities リストの間の既存のルックアップ関係と並行して結合を定義しています。

これらのリストではエイリアスが有用です。なぜなら、同じリストに対して複数の結合があり得るので、それらの結合を異なるエイリアスで区別する必要があるからです。たとえば、Orders から Customer への結合および Customer から Cities への結合に加えて、Orders から Suppliers への結合および Suppliers から Cities への結合もあり得ます。最後の結合では、Customer から Cities への結合に使用したものから、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>