Bonjour,
J'ai un petit problème pour faire une bonne requête.
J'ai deux tables :
Table1 :
Et table2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 +----+------+--------+ | id | mois | valeur | +----+------+--------+ | 1 | nov | 10 | | 2 | dec | 15 | | 3 | jan | 7 | +----+------+--------+
Et j'aimerais avoir le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 +----+------+--------+ | id | mois | valeur | +----+------+--------+ | 1 | oct | 200 | | 2 | nov | 110 | +----+------+--------+
Je pensais faire une jointure externe complète du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 +------+---------+---------+ | mois | valeur1 | valeur2 | +------+---------+---------+ | oct | 0 | 200 | | nov | 10 | 110 | | dec | 15 | 0 | | jan | 7 | 0 | +------+---------+---------+
Mais ça me donne le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT a.* , b.* FROM table1 a RIGHT OUTER JOIN table2 b ON a.mois=b.mois UNION SELECT a.* , b.* FROM table1 a LEFT OUTER JOIN table2 b ON a.mois=b.mois
Il ne me manque plus qu'à regrouper mes colonnes, mais je ne sais pas comment !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 +------+------+--------+------+------+--------+ | id | mois | valeur | id | mois | valeur | +------+------+--------+------+------+--------+ | NULL | NULL | NULL | 1 | oct | 200 | | 1 | nov | 10 | 2 | nov | 110 | | 2 | dec | 15 | NULL | NULL | NULL | | 3 | jan | 7 | NULL | NULL | NULL | +------+------+--------+------+------+--------+
Je sens que je brûle, non?
Partager