|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Cyril Étudiant Inscription : mai 2011 Messages : 3 ![]() |
Bonjour,
J'ai un petit souci sur ma requête SQL suivante : Code :
Code :
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 |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonsoir,
j'ai un doute... Code sql :
Le Sum en rouge ne serait-il pas de trop ? Sinon, donne un exemple plus significatif. Un SELECT comprenant 4 colonnes avec un résultat qui n'en retourne que 3 ce n'est pas très clair ton histoire
|
||
|
00
|
|
|
#3 | ||||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonsoir,
Le plus simple est de passer par des requêtes intermédiaires. REQ1 (somme au niveau PART/BATCH pour T_Presta) : Code :
Code :
Pour des gros volumes de données, il peut être avantageux de passer par des tables intermédiaires, c'est à dire transformer les requêtes REQ1 et REQ2 en requêtes de création de tables. A+ |
||||
|
|
00
|
|
|
#4 | ||||||||
|
Invité de passage
![]() Cyril Étudiant Inscription : mai 2011 Messages : 3 ![]() |
Merci pour vos réponsses,
Je vais être plus précis, tout d'abord j'ai réussi à obtenir ce que je voulais mais je vais vous éclairer sur mes tables : J'ai en gros 2 tables : T_SAP et T_PRESTA, ces deux tables sont alimentées par une importation de données via deux fichier excel ( je ne rentre pas dans les détails, ça marche ^^). Le but étant de trouver les erreurs entre ces deux tables (Numéro de batch présent chez l'un et l'autre non, Quantité différentes etc etc). J'ai donc deux requètes qui vérifient cela et insèrent les écarts en créant une nouvelle table (T_EcartECTRAChimie), mais ces deux requêtes laissent passer le problème que j'ai exposé plus haut : Je me retrouve donc avec des "fausses erreurs". Le but de la Requête que je suis entrain d'écrire et de supprimer de la table T_EcartECTRAChimie ces erreurs. La requête qui marche : Code :
Code :
du coup j'ai pensé à cette requête : Code :
Donc il faut que je procède avec une requête de la forme suivante : Code :
|
||||||||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Cyril Étudiant Inscription : mai 2011 Messages : 3 ![]() |
Sujet à clore, j'ai trouvé la solution comme un grand ^^
Pour ceux et celles à qui ça interesse : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com