IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème requêtes select avec multi-jointure


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 181
    Points : 80
    Points
    80
    Par défaut Problème requêtes select avec multi-jointure
    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

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Essaie count(distinct a.id) et count(distinct c.id) pour voir si ça correspond plus à ce que tu cherches.

    Qu'est-ce que tu obtiens ? Et à quoi t'attends-tu ?
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 181
    Points : 80
    Points
    80
    Par défaut
    Bonsoir,
    Merci pour ta réponse cela fonctionne j'avais pas pensé à distinct

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème requête sql avec plusieurs jointures
    Par CocoX02 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/02/2015, 13h33
  2. Requête SELECT avec jointure sur deux tables
    Par bud64 dans le forum Requêtes
    Réponses: 6
    Dernier message: 01/10/2010, 14h06
  3. Requête select avec jointure sur des enregistrements inexitant.
    Par faistoiplaisir dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/11/2009, 17h36
  4. Requête SELECT avec jointure
    Par Ptit_bouchon dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/12/2007, 13h04
  5. Problème performance SELECT avec jointure
    Par Netgamer dans le forum Requêtes
    Réponses: 7
    Dernier message: 05/08/2005, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo