Bonjours à tous.
Je voulais trouver par moi même car je suis sûr que la solution est évidente, mais rien n'y fait, je tourne en rond depuis se matin.
Je viens donc faire appel à vous.
J'ai une base de données sous MySQL 5.0, et voila mon probleme.
J'ai 2 tables que je résumerais par ceci:
Ce que j'aimerais faire, c'est une requête qui me sort toutes les annonces d'un auteur en particulier ainsi que le nombre de commentaire de chacune de ses annonces.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 CREATE TABLE `Annonce` ( `ID` int(100) NOT NULL auto_increment, `Texte` text, `Auteur` varchar(60) default NULL, PRIMARY KEY (`ID`) ) CREATE TABLE `Commentaires` ( `ID` int(100) NOT NULL auto_increment, `ID_Annonce` int(100), `Texte` text, `Auteur` varchar(60) default NULL, PRIMARY KEY (`ID`) )
Alors voila ce que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 -- Resultat : ID Auteur Texte Nb_Commentaires ---- ------- ----------------- ----------------- 3 Pierre Mangez du pain... 3 9 Pierre Sortez couvert... 1 ...
Avec ça, je trouver bien la liste des annonces, mais le nombre de commentaire reste à 0 (pourtant il y a bien des commentaires d'enregistrés).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT A.ID, A.Auteur, A.Texte, (SELECT COUNT(DISTINCT C.ID) FROM Commentaires C WHERE C.ID_Annonce=A.ID GROUP BY C.ID_Annonce) AS Nb FROM Annonce A WHERE A.Auteur= 'Pierre' ORDER BY A.ID;
Pourriez vous m'éclairer un peu ?
Merci d'avance.
Partager