COUNT avec un JOIN

Par Rachid1080, il y a 9 ans


Base de données MySQL

Bonjour tout le monde en fait je suis en train de crée un espace commentaire dans mon site et la j'essaye de permettre a l'utilisateur de supprimer son commentaire !
mais je reste bloqué dans ma requéte !
en fait j'ai envie de recupérer deux champs un champ 'news.id' et 'commentaires_news.id' dans la bdd mais et compter combien de fois il se trouve avec la fonction 'COUNT ' mais le problème c'est que dans tout les cas sa me renvoie !

mercii d'avance ;)

SELECT COUNT(commentaires_news.id) AS nbr_commentaires, COUNT(news.id) AS nbr_billet FROM commentaires_news LEFT JOIN news on commentaires_news.id = news.id WHERE commentaires_news.id = 1 AND WHERE news.id = 2

8 réponses

SLK, il y a 9 ans

Salut,

dans ta table 'commentaires_news', j'imagine que tu as :

  • un champ 'id' (qui est l'id du commentaire)
  • un champ 'news_id' (pour savoir à quel news correspond le commentaire)

Si on essaie avec un truc comme ça, ça fonctionne ou pas ?

SELECT COUNT(commentaires_news.id) AS nbr_commentaires, COUNT(news.id) AS nbr_billet FROM commentaires_news LEFT JOIN news on commentaires_news.id = news.id WHERE commentaires_news.news_id = 1
Rachid1080, il y a 9 ans

Salut SLK ! ca me renvoie encore 0 et 0 pour les deux je crois que je vais faire 2 requéte parce que j'ai jamais de la chance avec les JOIN xd

SLK, il y a 9 ans

Zut,

moi non plus je n'y comprends rien au SQL xD

Huggy, il y a 9 ans

Peut être avec une sous-requête ?

SELECT news.id, COUNT(news.id) AS nbr_billet, commentaires.nbr_commentaires FROM news LEFT JOIN (SELECT COUNT( commentaires_news.id) AS nbr_commentaires FROM commentaires_news GROUP BY news_id) AS commentaires ON (news.id = commentaires.news_id) WHERE news.id = 2
Bahamut45, il y a 9 ans

Bonjour,

Est ce que tu peut nous mettre des données sur un http://sqlfiddle.com ? Afin qu'on puisse trouver la bonne requete à faire.

@+

Rachid1080, il y a 9 ans

EN FAIT JE VOULAIS FAIRE UNE REQUETE PREPARER POUR COMPTER COMBIEN DE FOISid=1 SE TROUVE DANS MA TABLE commentaires_newset aussi la même chose mais pour la table news mais cette fois je voulais que l'id = 2

MAIS J'ai fais deux requéte ca me facilite la vie !

Rachid1080, il y a 9 ans

Huggy j'ai éssayer mais sa me renvoie encore 0 mais j'ai fait avec deux requète et sa fonctionne trés bien !

captain-coder, il y a 9 ans

Bonjour, tu n'a pas un petit MLR histoire que l'on puisse voir la structure de ta table (clef primaire etc...) ?