Bonjour,
j'ai trois tables utilisateur,article,commentaire
je souhaite utiliser une requête qui permet de calculer le nombre de commentaires et d'articles pour chaque utilisateur voici ma requête :
voici la déclaration des tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select u.id as id_utilisateur,pseudo,count(a.id) as nombre_articles,count(c.id) as nombre_commentaires from article as a right join utilisateur as u on a.auteur_id=u.id left join commentaire as c on u.id=c.auteur_id group by u.id;
Remarque :
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
16
17
18
19
20
21
22
23
24
25 CREATE TABLE Article ( id INT UNSIGNED AUTO_INCREMENT, titre VARCHAR(200) NOT NULL, resume TEXT, contenu TEXT NOT NULL, auteur_id INT UNSIGNED NOT NULL, date_publication DATETIME NOT NULL, PRIMARY KEY(id) ); CREATE TABLE Commentaire ( id INT UNSIGNED AUTO_INCREMENT, article_id INT UNSIGNED NOT NULL, auteur_id INT UNSIGNED, contenu TEXT NOT NULL, date_commentaire DATETIME NOT NULL, PRIMARY KEY(id) ); CREATE TABLE Utilisateur ( id INT UNSIGNED AUTO_INCREMENT, pseudo VARCHAR(100) NOT NULL, email VARCHAR(200) NOT NULL, password CHAR(40) NOT NULL, PRIMARY KEY(id) );
-Les clés étrangers sont traiter a part
-Quand j'affiche le nombre de commentaires ou d'article tout seul ça fonctionne
Merci d'avance
Partager