Ajouter des conditions Join
Un "join" fonctionne en combinant des items de deux ou plusieurs structures conformément à une condition, de manière qu'un join exige toujours au moins une condition. Il existe plusieurs moyens d'ajouter des conditions "join", voir ci-dessous.
Note : | Lorsque des tables de base de données sont jointes dans le mode SQL, MapForce créera la condition Join (ou les conditions) automatiquement, sur la base des relations de clé étrangère détectée entre les tables. Pour que des conditions Join automatiques se produisent, les tables de base de données doivent se trouver dans une relation enfant-parent dans le composant MapForce (c'est à dire, qu'une table doit être "parent" ou "child" d'un autre dans le composant), voir Exemple: Joindre des tables dans le mode SQL. |
Approche 1: Ajouter une condition join depuis les propriétés de composant
1.Dans le mappage, veuillez vous assurer qu'au moins deux structures (ou tables de base de données) sont connectées au composant Join. Le composant Join illustré dans cet exemple fait partie du mappage JoinPeopleInfo.mfd disponible dans le dossier <Documents>\Altova\MapForce2025\MapForceExamples\Tutorial\. Ce mappage est discuté en plus grands détails dans Exemple : Joindre des structures XML.
2.Dans le composant Join, cliquer sur la touche Définir condition Join ( ) (ou cliquer avec la touche de droite sur le composant et sélectionner Propriétés depuis le menu contextuel).
3.Choisir un item depuis la structure de gauche et un autre depuis la structure de droite (ainsi, lorsque la comparaison de cette paire retourne vrai, les structures de gauche et de droite sont jointes).
Si vous souhaitez ajouter plusieurs conditions, cliquer sur Ajouter condition, puis sélectionner une nouvelle paire d'items. Par exemple, dans l'image ci-dessus, deux conditions join sont définies :
1.FirstName dans la Structure 1 doit être égale à FirstName dans la structure 2, et
2.LastName dans la structure 1 doit être égale à LastName dans la structure 2.
Pour supprimer une condition join, cliquer sur la touche Supprimer située juste à côté.
Notes :
•Si plusieurs conditions join existent, toutes doivent être satisfaites pour que les deux structures soient jointes. En d'autres termes, plusieurs conditions sont jointes par une opération logique AND. Cela comprend également des conditions optionnelles qui ont été ajoutées depuis le mappage (voir Approche 2 ci-dessous).
•Si plus de deux structures sont connectées au composant Join, ce type de structure supplémentaire apparaît dans la liste déroulante ci-dessous "Structure 2". Lorsque vous sélectionnez une telle structure supplémentaire depuis la liste déroulante, le panneau de gauche affiche toutes les structures qui se produisent avant dans le composant Join. Ainsi, vous pouvez définir des conditions "join" se trouvant entre une des structures multiples. Pour consulter un exemple, voir Exemple : Créer un rapport CSV à partir de plusieurs tables.
•Pour consulter le type de données des items dans chaque structure, cocher la case Afficher types. L'option Afficher annotations affiche des informations supplémentaires concernant les items, si de telles informations existent dans le schéma sous-jacent (ou la base de données). Si les deux cases sont cochées, la mise en page change pour accommoder la vue des deux annotations et types, par exemple :
Approche 2 : Ajouter une condition join depuis le mappage
•Dans le mappage, ajouter des composants qui produisent une valeur booléenne, puis connecter la sortie booléenne à l'entrée de l'item condition. Par exemple, la fonction equal peut comparer une valeur avec des items de mappage, et fournir le résultat booléen en tant qu'entrée dans l'item condition du composant join.
Note : | Si aucune condition n'est définie depuis les propriétés de composant join (Approche 1), l'item condition du composant join doit être connecté (Approche 2). |
Approche 3: Approche mixte
Dans le même mappage, il est possible de définir des conditions join dans les propriétés de composant (Approche 1) et de les combiner avec celles provenant du mappage (Approche 2). Néanmoins, si vous avez l'intention de joindre des tables de base de données dans le mode SQL, les conditions doivent être définies strictement conformément à l'Approche 1, voir aussi Joins dans le mode SQL.