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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,