Bonjour à vous,
J'aurais besoin d'aide pour effectuer une requête qui aurait pour but de sélectionner des données d'une table et d'effectuer un comptage ( count ) sur une autre.
En concret, je sélectionnes les derniers billets publiés sur mon blog ( table billet ), jointe à la table categories et membres, et j'aimerais aussi compter le nombre de commentaires liées à chaque billet ( table commentaires ).
La requête fausse que j'avais penser écrire est :
J'obtiens alors l'erreur "Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY", et en rajoutant une clause GROUP BY le résultat obtenu n'est plus du tout celui désiré ( la requête ne renvoie plus qu'un seul résultat ).SELECT b.*, m.pseudo, c.nom_cat, COUNT(com.id_com) as nb_com
FROM billets b
LEFT JOIN membres m
ON m.id_membre=b.id_auteur
LEFT JOIN categories c
ON c.id_cat=b.id_cat
LEFT JOIN commentaires com
ON com.id_billet=b.id_billet
WHERE b.billet_statut='publie'
ORDER BY id_billet DESC
LIMIT 0,7
N'étant pas un expert en utilisation des opérateurs ensemblistes, un petit coup de main ne serait donc pas de refus !
Merci à vous.
Partager