Jointure : Afficher autre chose si pas de résultat? [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 18-12-2009 à 23:00:33
FROM categorie f LEFT JOIn topics t ON t.id = f.last_topic
Marsh Posté le 19-12-2009 à 09:31:59
Coucou,
Merci beaucoup, je m'approche !
La left join fonctionne nickel, mais sans condition sur le topic... Je veux juste rajouter pour le topic AND t.statut = 1 (quand il existe)
Si je le rajoute après le WHERE, ça me les enlève encore vu que t.statut != 1.
Une idée?
Merci
Marsh Posté le 18-12-2009 à 22:02:07
Bonjour,
Je travaille sous MySQL et je me pose une question... J'utilise cette requête:
Or mon souci est que certains forums n'ont pas de last_topic_id, donc ne sont pas retournés par cette requête... Pour l'instant j'ai bidouillé un truc genre "Si last_topic_id = 1, ca veut dire qu'il n'y a pas de message", en mettant la valeur par default à 1 pour etre sur d'avoir un last_topic_id.
J'avais auparavant utilisé ceci :
Vous pouvez donc voir le bidouillage, ca ressort 1. Mais bref, cette requête fonctionne, mais a un temps d'éxécution de 2.5 s en moyenne. Un EXPLAIN m'a montré qu'il parcourait tous les topics, sans utiliser d'index... Alors que la requête précédente va directement au topic.
Une idée pour que la requête du haut me retourne quand même les résultats sans topic associé, pour que je puisse afficher la catégories, mais en mettant "pas encore de topic ici" avec une charge décente?
Merci !
---------------
Hello hello super jello