Bonjour, Je me permets de revenir sur une question pour laquelle on m'a donné des solutions (qui soit ne fonctionnent finalement pas, soit je ne les ai pas comprises)
J'ai deux tables :
Table1
Type----Nb
01-------1
02-------2
02-------3
Table2
Type----Nb2
01-------5
03-------3
01-------1
Je voudrais obtenir grace à ces 2 tables :
Type---Nb------Nb2
01-------1--------6
02-------5--------0
03-------0--------3
j'ai essaye de mettre en pratique ce qui m'a été indiqué, à savoir :
Requête1
Puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT table1.Type, table1.Nb, Table2.Nb2 FROM table1 LEFT JOIN Table2 ON table2.Type = Table1.type
Requête2
Et enfin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT Table2.Type, Table1.Nb, Table2.Nb2 FROM Table2 LEFT JOIN Table1 ON Table2.Type = Table1.Type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (SELECT Type , Nb, NB2 from Requête1) union (SELECT Type , Nb, NB2 from Requête2)
Mais cette dernière requête me donne :
Type---Nb------NB2
01-------1--------1
01-------1--------5
02-------2--------0
02-------3--------0
03-------0--------3
et non (contrairement à ce que j'espérais)
Type---Nb------Nb2
01-------1--------6
02-------5--------0
03-------0--------3
Et si je fais un Group by Type dans les requêtes1 et 2 (avant l'union)
j'obtiens :
Type---Nb--------NB2
01------2---------6
02------5---------0
03------0---------3
Ce qui ne paraît pas non plus convenir puisque le type '01' donne Nb=2 au lieu de Nb=1
Bref je dois mal interprêter quelque chose dans ce qui m'a été expliqué...
Quelqu'un pourrait-il m'aider ?
Merci
Michel
Partager