Bonjour,
Je suis bloqué sur une requête SQL (j'utilise MYSQL).
Les tables qui nous interessent sont :
Je fais un logiciel de gestion de stock, on créer un article avec une quantité initiale, ensuite on peu créer des entrée et des sorties pour cet article (ce qui resume les 3 tables ici).ARTICLE (NUM_ART (clé primaire), QUANTITE, PRIX, NUM_FOUR, DESIGNATION, REFERENCE)
VALEUR_ENTREE (NUM_ENTREE (clé primaire), NUM_ART (clé étrangere), QUANTITE_ENTREE, PRIX_ENTREE, PRIX_TOTAL, DESIGNATION_ENTREE, REFERENCE_ENTREE)
VALEUR_SORTIE (NUM_SORTIE (clé primaire), NUM_ART (clé étrangere), QUANTITE_SORTIE, DESIGNATION_SORTIE, REFERENCE_SORTIE)
J'aimerais pour chaque article afficher sa désignation, sa référence et sa quantité réel. (Par quantité réel j'entend la quantité initial (celle dans ARTICLE) + la somme de toutes les entrées qui concerne cet article - la somme de toutes les sorties qui concerne cet article)
Mon probleme est que mes quantité ne sont pas corrects.
Sauf dans ce cas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT DESIGNATION, REFERENCE, NUM_FOUR, SUM(QUANTITE_ENTREE) FROM ARTICLE AS A LEFT JOIN VALEUR_ENTREE AS Q ON A.NUM_ART = Q.NUM_ART GROUP BY A.NUM_ART
et celui là
Ces 2 requetes me donnent bien les bonnes quantité par contre si je fais ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT DESIGNATION, REFERENCE, NUM_FOUR, SUM(QUANTITE_SORTIE) FROM ARTICLE AS A LEFT JOIN VALEUR_SORTIE AS Z ON A.NUM_ART = Z.NUM_ART GROUP BY A.NUM_ART
Les quantités calculée sont fausse, je crois qu'il y'a des doublons quelque part qui fausse tout et je n'ais aucune idée de pourquoi, ni comment faire. (on est d'accord c'est pas exactement la requete dont j'ai parlé au dessus, mais si j'arrive a avoir les bonnes valeur pour ca je pourrais sans probleme faire mon calcul)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT DESIGNATION, REFERENCE, NUM_FOUR, SUM(QUANTITE_ENTREE), SUM(QUANTITE_SORTIE) FROM ARTICLE AS A LEFT JOIN VALEUR_ENTREE AS Q ON A.NUM_ART = Q.NUM_ART LEFT JOIN VALEUR_SORTIE AS Z ON A.NUM_ART = Z.NUM_ART GROUP BY A.NUM_ART
Merci d'avance
Partager