COUNT sur une table differente.
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:
Code:
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`)
) |
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:
1 2 3 4 5 6
| -- Resultat :
ID Auteur Texte Nb_Commentaires
---- ------- ----------------- -----------------
3 Pierre Mangez du pain... 3
9 Pierre Sortez couvert... 1
... |
Alors voila ce que j'ai fait:
Code:
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; |
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).
Pourriez vous m'éclairer un peu ?
Merci d'avance.