Quand vous joignez deux tables qui ont une relation many-to-many (plusieurs à plusieurs), SQL joint toutes les lignes correspondantes de la première table à toutes les lignes correspondantes de la seconde. Pour résumer les valeurs provenant des deux tables, spécifiez un subselect sur le join.
Obtenir les bons totaux sur des jointures Many-to-Many
![Obtenir les bons totaux sur des jointures Many-to-Many Obtenir les bons totaux sur des jointures Many-to-Many](https://www.itpro.fr/wp-content/uploads/2015/09/46c501907a80aa1e3636cce7c5775107.jpg)
Par exemple, pour totaliser les quantités order et dispatch des items, au lieu de SELECT O.ITEM, SUM(O.QTY), SUM(D.QTY) FROM MONYLIB.ORDDTL O JOIN MONYLIB.DSPDTL D ON O.ITEM = D.ITEM GROUP BY O.ITEM codez plutôt : SELECT O.ITEM, SUM(O.QTY), MIN(D.DESPQTY) FROM ORDDTL O JOIN (SELECT ITEM, SUM(QTY) AS DESPQTY FROM DSPDTL GROUP BY ITEM) AS D ON O.ITEM = D.ITEM GROUP BY O.ITEM
Le subselect additionne la quantité dispatch comme DESPQTY et spécifie un nom de corrélation de D de telle sorte que les valeurs retournées par la sous-requête puissent être référencées dans la requête principale. La fonction MIN dans la requête extérieure (outer) garantit que DESPQTY n’est sorti qu’une fois pour chaque item.
– Julian Monypenny Rédacteur technique System iNEWS
Téléchargez cette ressource
![Guide des Solutions Cloud & Services Managés Simplifiés](https://www.itpro.fr/wp-content/uploads/2024/05/TOP-5-des-Services-Manages-Simplifies-2024-IT-Experts.jpg)
Guide des Solutions Cloud & Services Managés Simplifiés
Comment capitaliser sur son existant tout en bénéficiant, dès à présent, des promesses de flexibilité et de scalabilité du cloud ? Découvrez les bonnes pratiques pour répondre aux défis de simplification du Cloud dans ce nouveau TOP 5.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Une baie de stockage c’est quoi ?
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Et si les clients n’avaient plus le choix ?