Bonjour

J'ai deux fichier A et B pour lesquels je veux les lignes communes et non communes avec A.DOC="valA" et B.DOC="valB" pour les rubriques A.CLE B.QTE, B.CLE et B.QTE

Le but étant d'avoir A.CLE, A.QTE,B.CLE, B.QTE avec tantôt un coté ou l'autre vide pour les lignes non communes et la quantité de chaque fichier POUR A.CLE=B.CLE.

Exemple
A.DOC;A.CLE;A.QTE
D1;C1;9
D1;C2;8
D1;C3;4

B.DOC;B.CLE;B.QTE
D2;C1;10
D2;C3;4
D2;C4;8

J'aimerai obtenir quand on donne A.DOC="D1" et B.DOC="D2" :
A.CLE;A.QTE;B.CLE;B.QTE
C1;9;C1;10
C2;8;null;null
C3;4;C3;4
null;null;C4;8


Nous avons testé en vain les clause FULL OUTER JOIN ou UNION comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT 
  A.CLE AS A_CLE,  
  A.QTE AS A_QTE,  
  B.CLE AS B_CLE,  
  B.QTE AS B_QTE
FROM 
  A FULL OUTER JOIN B ON B.CLE  =  A.CLE
WHERE 
  (
  A.DOC = 'D1'
  AND  B.DOC = 'D2'
)
-> on obtient :
A.CLE;A.QTE;B.CLE;B.QTE
C1;9;C1;10
C3;4;C3;4

Avec union on a fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT A.CLE,  A.QTE FROM A WHERE A.DOC = 'D1'
UNION
SELECT B.CLE,  B.QTE FROM B WHERE B.DOC = 'D2'
-> on obtient :
CLE;QTE
C1;10
C2;8
C3;4
C4;8

Là il nous manque les quantité ou une colonne 'vide' dans chaque requête.
Merci d'avance.