MySQL: COUNT ignore les lignes où count = 0

Résolu/Fermé
nz_janvier Messages postés 146 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 15 mai 2006 - 1 mai 2006 à 15:52
nz_janvier Messages postés 146 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 15 mai 2006 - 15 mai 2006 à 11:39
Bonjour à tous,

j'ai écrit la requête suivante:

SELECT themes_forum.numero_theme, themes_forum.libelle, count( numero_reponse )
FROM themes_forum, reponses_forum
WHERE themes_forum.numero_theme = reponses_forum.numero_theme
AND themes_forum.statut = 'visible'
AND reponses_forum.statut = 'visible'
GROUP BY themes_forum.numero_theme

Elle affiche le résultat voulu uniquement pour les thèmes ayant au moins une réponse
or je voudrai avoir aussi les autres, avec un count = 0

Je ne sais pas où est le pb dans ma requête

Merci

2 réponses

Delta9_THC Messages postés 65 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 26 avril 2009 2
2 mai 2006 à 11:55
Salut,
si je comprends bien je pense que c'est normal, MySQL ne compte pas les lignes aux valeurs nulles, mais tu peux utiliser une fonction du type IFNULL.

Regarde là :
https://dev.mysql.com/doc/refman/8.0/en/control-flow-functions.html
1
nz_janvier Messages postés 146 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 15 mai 2006 17
15 mai 2006 à 11:39
salut,

en fait il faut faire un JOIN

SELECT themes_forum.numero_theme, count(numero_reponse)
FROM themes_forum
LEFT JOIN reponses_forum
ON themes_forum.numero_theme = reponses_forum.numero_theme
GROUP BY themes_forum.numero_theme


Merci
0