FULL OUTER et clause WHERE
Bonjour à tous,
J'ai un problème bizarre que je n'arrive pas à résoudre avec pgsql, et je ne sais pas trop quoi chercher sur Google...
J'ai la requête ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| SELECT
D12.*,
D01_Agg.*
FROM "D12" AS D12
FULL JOIN
(SELECT
"PERIOD",
"SEG",
"COMPANY",
"FB",
"ACC",
SUM("AMOUNT") AS "SOMME"
FROM "D01"
GROUP BY 1,2,3,4,5)
AS D01_Agg
ON D12."PERIOD"=D01_Agg."PERIOD"
AND D12."SEG"=D01_Agg."SEG"
AND D12."COMPANY"=D01_Agg."COMPANY"
AND D12."FB"=D01_Agg."FB"
AND D12."ACC"=D01_Agg."ACC"
WHERE D12."ACC"='6414600000'
AND D12."FB"='1200'
AND D12."PERIOD"=201410
AND D12."SEG" NOT IN (400,999) |
Elle fonctionne, mais ne me renvoie que les lignes pour lesquelles la jointure est satisfaite, et exclut les autres.
Si j'écris dans la condition :
Code:
1 2 3 4
| WHERE D01_Agg."ACC"='6414600000'
AND D01_Agg."FB"='1200'
AND D01_Agg."PERIOD"=201410
AND D01_Agg."SEG" NOT IN (400,999) |
là, les lignes de ma table de droite ne satisfaisant pas les critères de la jointures sont présentes...
C'est normal ou alors je lui donne un truc mauvais à manger?
D'avance merci,