Bonjour,
j'ai un petit souci de conception d'une requête qui ne me renvoie pas le résultat attendu. Je dispose d'une table de FACTURE et d'une table ECRITURE composées de la façon suivante :
FACTURE :
FACTURE_ID
FACTURE_NUMERO
...
ECRITURE :
ECRITURE_ID
ECRITURE_TYPE
FACTURE_ID
ECRITURE_MONTANT
...
Une écriture peut avoir 4 types. L'objectif de ma requête est de sortir, par facture, la somme des écritures par type.
J'ai essayé ceci :
Le souci est que je n'ai, comme résultat, que les factures qui ont des écritures dans les 4 catégories...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 SELECT FACTU_NUMERO, SUM(e1.ECRITURE_MONTANT), SUM(e2.ECRITURE_MONTANT), SUM(e3.ECRITURE_MONTANT), SUM(e4.ECRITURE_MONTANT) FROM FACTURE LEFT JOIN ECRITURE AS e1 ON FACTURE.FACTURE_ID = e1.FACTURE_ID LEFT JOIN ECRITURE AS e2 ON FACTURE.FACTURE_ID = e2.FACTURE_ID LEFT JOIN ECRITURE AS e3 ON FACTURE.FACTURE_ID = e3.FACTURE_ID LEFT JOIN ECRITURE AS e4 ON FACTURE.FACTURE_ID = e4.FACTURE_ID WHERE e1.ECRITURE_TYPE = 1 AND e2.ECRITURE_TYPE = 2 AND e3.ECRITURE_TYPE = 3 AND e4.ECRITURE_TYPE = 4 GROUP BY FACTU_NUMERO
Auriez-vous une idée ?
Merci de votre aide !
Partager