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 :
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;
voici la déclaration des tables :
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)
);
Remarque :
-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