> Tech > Obtenir les bons totaux sur des jointures Many-to-Many

Obtenir les bons totaux sur des jointures Many-to-Many

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

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

État des lieux de la sécurité cloud-native

État des lieux de la sécurité cloud-native

L’État des lieux de la sécurité cloud-native vous offre une analyse complète des problématiques, des tendances et des priorités qui sous-tendent les pratiques de sécurité cloud-native dans le monde entier. Une lecture indispensable pour renforcer votre stratégie de sécurité dans le cloud. Une mine d’infos exclusives pour élaborer votre stratégie de sécurité cloud-native.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010