Problème de sum sur 2 tables différentes
Bonjour,
via 3 tables (écriture, facture, règlement), je tente de faire une réconciliation entre mes écritures, ma facture et mes règlements.
Chaque écriture dispose d'un type (frais, vente...) et je souhaite, par facture, sortir le montants des écritures par type et le montant des règlements.
Les écritures appartiennent à une facture et les règlements également. La table centrale est donc facture.
Voici ma requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| SELECT
f.Numero
, SUM(case when coalesce(typeE, 0) = 1 then (e.Montant) else 0 end) AS Somme1
, SUM(case when coalesce(typeE, 0) = 2 then (e.Montant) else 0 end) AS Somme2
, SUM(case when coalesce(typeE, 0) = 3 then (e.Montant) else 0 end) AS Somme3
, SUM(case when coalesce(typeE, 0) = 4 then (e.Montant) else 0 end) AS Somme4
, SUM(coalesce(r.Montant, 0)) AS MontantRegle
FROM
facture f LEFT JOIN
ecriture e ON f.CleFacture = e.CleFacture LEFT JOIN
reglement r ON f.CleFacture = r.CleFacture
GROUP BY
f.Numero |
Le problème est que si j'ai une facture qui comporte plusieurs écritures, MontantRegle sera multiplié par le nombre de ces écritures !
Ou me suis-je planté ?
Merci de votre aide !