MYSQL JOIN COUNT

Eléphanteau du PHP | 40 Messages

06 oct. 2020, 17:48

Bonjour,

J'essaye de créer une messagerie.
Je suis au stade ou je dois afficher la liste des conversation avec le dernier message + le nombre de message non lus par conversation.

Code : Tout sélectionner

........ JOIN (SELECT COUNT(seen) AS seen, convid, user FROM messages_seen AS msgstatus JOIN (SELECT conversation FROM conv_users WHERE user = 'admin') as conviduser ON conviduser.conversation = msgstatus.convid WHERE msgstatus.user = 'admin' AND msgstatus.seen = 'no') AS msgstatus .....
Tout fonctionne comme il le faut sauf quand le nombre de message non vus est = à 0.
je t'obtiens aucune ligne
si j'ai plus de 0 message non lus tout fonctionne comme il le faut

Dans une requête séparé quand il n y'a pas de message non lus le résultat retourné est bien = à "0" mais pas dans ma grande requête.

J'ai essayé IFNULL(COUNT(seen), '0') mais cela ne marche pas.

Je me suis un peu aventuré dans CASE WHEN THEN mais sans succès.

Une idée ?
Merci d'avance