Bonjour,
J'ai un petit souci sur ma requête SQL suivante :
il me retourne le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT T_Presta.PART_PRESTA, T_Presta.BATCH_PRESTA, Sum(T_Presta.QUANTITE_PRESTA), Sum(T_SAP.QUANTITE_SAP) FROM T_Presta LEFT JOIN T_SAP ON (T_Presta.BATCH_PRESTA=T_SAP.BATCH_SAP) AND (T_Presta.PART_PRESTA=T_SAP.PART_SAP) GROUP BY T_Presta.PART_PRESTA, T_Presta.BATCH_PRESTA HAVING (((Sum(T_Presta.QUANTITE_PRESTA))<>Sum(T_SAP.QUANTITE_SAP)));
A savoir que pour le PART 2PMC0007, il n'y a qu'une seule ligne pour les 2 cumuls donc cela fonctionne,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PART_PRESTA BATCH_PRESTA BATCH_SAP 2PMC0007 3900 3100 2PMC0015 503 5533 2PMC0017 63 126 2PMC0019 643 10931
Mais par exemple pour le Part 2PMC0015, la bonne quantité est 503, mais pour la quantité du BATCH_SAP elle est multipliée par 11, dû au nombre de ligne dans la Table SAP où pour le Part 2PMC0015 la Batch_SAP est représentée 11 fois avec des quantités différentes mais dont la somme est égale à 503.
Donc elle ne devrait pas figurer dans les résultats car la requête me donne les PART et Batch qui ont un cumul différent.
J'ai vu sur le net une solution avec une jointure Externe mais je ne l'ai pas comprise..
Merci de votre aide
Partager