Bonjour. J'ai 5 tables dont j'ai présenté les relations en pièce jointe.
--la table tblnomenclature_chapitres (c)
--la table tblbudget (b)
--la table tblengagements (e)
--la table tblmodifications (m)
--la table tblnomenclature_articles (a)
La dernière table peut avoir plusieurs reférences dans les 2 tables avant (tblengagements et tblmodifications). Ces deux tables possèdent des champs numériques (eng_montant, modif_montant) dont je veux les sommes.
Je veux obtenir un résultat sous forme
a.article_code a.article_libelle b.budget_montant MODIFICATIONS ENGAGEMENTS
La requête que j'ai écrite se présente comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT a.article_ID, a.article_code, a.article_libelle, b.budget_montant, Sum(m.modif_montant) AS MODIFICATIONS, SUM(e.eng_montant) AS ENGAGEMENTS FROM (((tblnomenclature_articles a LEFT JOIN tblmodifications m ON a.article_ID = m.modif_article) LEFT JOIN tblbudget b ON a.article_ID = b.budget_article) LEFT JOIN tblengagements e ON e.eng_article=a.article_ID) LEFT JOIN tblnomenclature_chapitres c ON c.chapitre_code=a.chapitre_code WHERE a.chapitre_code = '636' GROUP BY a.article_code, a.article_libelle,a.article_ID,b.budget_montant
La première somme (MODIFICATIONS) est calculée correctement, mais mon problème est que pour la deuxième somme (ENGAGEMENTS) le résultat sortit est celui attendu multiplié par le nombre de ligne de la table tblengagements (e)
Donc je ne voit pas très bien comment faire pour éviter ce calcul multiple. Donner moi un coup de main SVP
Partager