Hello tous,
un truc me chagrine
voilà 2 tables :
Code sql : 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 `p_rating_types` (`id`, `nom_type`, `value_type`, `static`, `statut`, `ordre`) VALUES (3, 'Bugs', '', 0, 1, 3), (7, 'Complet', '', 0, 1, 7), (2, 'Esthétique', '', 0, 1, 2), (1, 'Informatif', '', 0, 1, 1), (6, 'Intérêt', '', 0, 1, 6), (4, 'Originalité', '', 0, 1, 4), et `p_rate_types_list` (`id_list`, `id_type`, `active`) VALUES (2, 1, 1), (2, 2, 0), (2, 3, 0), (2, 4, 1), (2, 5, 0), (2, 6, 0), (3, 1, 1), (3, 2, 0), (3, 3, 0), (3, 4, 0), (3, 5, 0), (3, 6, 1), (4, 1, 0), (4, 2, 1), (4, 3, 1),
ma 1ere requète, me renvoie seulement les id et nom_type dont les id_type sont présents dans la 2eme table, avec la bonne valeur de active.
la 2Eme me renvoie tous les id, et nom types présents dans la table 1 ()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT rt.id as idType, rt.nom_type as nomType, rtl.active as active FROM p_rating_types rt INNER JOIN p_rate_types_list rtl ON (rtl.id_list) WHERE rt.id = rtl.id_type GROUP BY rt.id ORDER BY rt.id ASC
mais la valeur de active ressort tout à 1 , donc faux.
alors j'aurai besoin d'un mix des deux. rires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT rt.id as idType, rt.nom_type as nomType, rtl.active as active FROM p_rating_types rt INNER JOIN p_rate_types_list rtl ON (rtl.id_list) WHERE rt.statut=1 GROUP BY rt.id ORDER BY rt.id ASC
à savoir tous les id et nom_type de table 1 mais avec les bonnes valeurs de table 2 !
j'ai tenté en changeant la jointure sans succès pour le moment !
je ne dois pas être loin, mais je ne vois pas
une idée ?
merci
Partager