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 :
-> on obtient :
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' )
A.CLE;A.QTE;B.CLE;B.QTE
C1;9;C1;10
C3;4;C3;4
Avec union on a fait :
-> on obtient :
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'
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.
Partager