Résultat requête SQL incomplet - classement

Bonjour,

J'ai 3 tables :
- membre (id, pseudo)
- membre_objet (table relationnelle) (id_membre, id_objet)
- objet (id, designation)

Avec ces 3 tables je souhaiterai faire un classement des membres par ordre de ceux qui ont le plus d'objet
Ex :
1 - MembreUn - 56
2 - MembreQuatre - 45
3 - MembreDeux - 10
4 - MembreTrois - 0
5 - MembreDix - 0
...etc

Mais le résultat de ma requête n'affiche que les membres ayant un objet.
1 - MembreUn - 56
2 - MembreQuatre - 45
3 - MembreDeux - 10

Comment tous les faire apparaitre ?

Voici ma requête :

$sql_tous_membre = 'SELECT id AS ID_MEMBRE, pseudo AS PSEUDO, count(id_objet) AS COUNT_OBJET FROM membre, membre_objet '.
'WHERE membre.id=membre_objet.id_membre '.
'GROUP BY id_membre ORDER BY COUNT_OBJET DESC';

Merci par avance

5 réponses

  1. La raison est qu'un COUNT ne sait pas retourner 0. A la place il retourne null. Essaie de rajouter une contrainte "NOT NULL" sur la valeur retournée et d'assigner 0 comme valeur par défaut ?
    0
    1. J'ai essayé d'utiliser NOT NULL, IS NULL, IFNULL mais je dois mal les mettre en application.
      J'ai cherché un peu dans GG mais je n'ai pas trouvé mon bonheur :(
      0
      1. Ce qui est dommage, c'est que j'avais eu ce problème en cours, mais que j'ai oublié comment je l'avais résolu ):
        0
        1. Snif ^^, là j'ai aussi de faire une requête imbriquée mais rien de plus ça m'affiche toujours la même chose.
          0