Share via


Élément Join (Afficher)

Dernière modification : vendredi 25 décembre 2009

S’applique à : SharePoint Foundation 2010

Dans cet article
Attributs
Éléments enfants
Éléments parents
Occurrences

Utilisé pour effectuer une jointure de deux listes pour des requêtes.

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

Attributs

Attribut

Description

Type

Obligatoire. « LEFT » signifie une jointure externe gauche. « INNER » signifie une jointure interne.

ListAlias

Facultatif. Spécifie un nom secondaire pour la liste étrangère. Ceci peut être utile lorsqu’il y a deux jointures avec la même liste. Des alias différents sont nécessaires pour différencier les jointures.

Il n’est pas nécessaire de mapper explicitement l’alias avec le nom réel de la liste étrangère car les jointures sont autorisées seulement via une relation de champ de recherche et la liste étrangère est spécifiée dans la définition du champ de recherche.

Une fois cette valeur définie dans un élément Join, elle est utilisée en tant que valeur d’un attribut List à deux endroits :

  • Dans un élément FieldRef qui est un enfant de l’élément Eq de l’élément Join.

  • Dans un élément Field qui est un enfant d’un élément ProjectedFields.

Éléments enfants

Eq

Éléments parents

Jointures

Occurrences

Minimum : 1

Maximum : La valeur de la propriété MaxQueryLookupFields pour l’objet SPWebApplication qui contient la liste principale faisant l’objet de la requête. La valeur par défaut du système est 8.

Remarques

L’élément Join est traduit dans l’instruction SQL JOIN. L’élément Join refactorise l’élément Eq pour spécifier le champ principal et le champ étranger sur lesquels effectuer la jointure. Le champ principal doit être défini en tant que champ de recherche pour le champ étranger.

Exemple

Voici un exemple de deux éléments Join ; ils sont tous les deux des jointures externes gauches. CustomerName est un champ de recherche sur une liste Orders. Il recherche le champ ID d’une liste Customers. La liste Customer a à son tour un champ CityName qui est un champ de recherche pour une liste Cities. Le premier élément Join attribue le nom « customers » en tant qu’alias à la liste Customers. L’enfant de l’élément Eq définit la jointure en utilisant les mêmes champs source et cible qui constituent la relation de recherche. Le deuxième élément Join attribue le nom « customerCities » en tant qu’alias à la liste Cities. Il définit la jointure parallèlement à la relation de recherche existante entre les listes Customer et Cities.

Les alias sont utiles pour les listes car il peut exister plusieurs jointures sur la même liste et des alias différents sont alors nécessaires pour différencier les jointures. Par exemple, en plus des jointures de Orders avec Customer et de Customer avec Cities, il pourrait également y avoir des jointures de Orders avec Suppliers et de Suppliers avec Cities. Dans le cas de la dernière jointure, un autre alias, par exemple « supplierCities » serait attribué à la liste Cities, alias qui serait différent de celui utilisé pour la jointure de Customer avec Cities.

<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>