Bonjour,
Actuellement j'utilise deux requêtes MySQL et une jonction de l'une par l'autre grâce au php et je voudrai simplifier la chose en fesant une seul et unique requête MySQL.

ma requête de 'base'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT t.topic_id, t.topic_title , t.forum_id , t.topic_poster, t.topic_tag_id , u.user_colour, u.user_id , u.username
FROM `phpbb3_topics` t , `phpbb3_users` u 
WHERE u.user_id = t.topic_poster
AND t.forum_id = '9'
ORDER BY t.topic_title ASC
avec la gestion de la table tag :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT t.topic_id, t.topic_title , tg.topic_tag_id, tg.topic_tag_name, t.forum_id , t.topic_poster, t.topic_tag_id , u.user_colour, u.user_id , u.username 
FROM `phpbb3_topics` t , `phpbb3_topic_tags` tg , `phpbb3_users` u 
WHERE u.user_id = t.topic_poster 
AND t.forum_id = '9'
AND tg.topic_tag_id = t.topic_tag_id 
ORDER BY t.topic_title ASC
Mais le problème, tout les topic sans tag (t.topic_tag_id valeur NULL) sont éjectés de la requête, et étant donné que le tg.topic_tag_id est en incrémentation je ne peux pas fait un insert bidon de valeur null.

j'ai essayer un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT t.topic_id, t.topic_title , tg.topic_tag_id, tg.topic_tag_name, t.forum_id , t.topic_poster, t.topic_tag_id , u.user_colour, u.user_id , u.username 
FROM `phpbb3_topics` t , `phpbb3_topic_tags` tg , `phpbb3_users` u 
WHERE u.user_id = t.topic_poster 
AND t.forum_id = '9'
AND 
(IF t.topic_tag_id = NULL 
THEN tg.topic_tag_id = '18' 
ELSE tg.topic_tag_id = t.topic_tag_id) 
ORDER BY t.topic_title ASC
mais bon j'ai une erreur j'ai cru comprendre que ce genre de IF THEN s'applique dans le SELECT et pas dans le WHERE donc ben si quelqu'un a une solution a mon problème je suis prôneur
Sur ce bonne journée.