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

Requêtes MySQL Discussion :

COUNT et multi jointures


Sujet :

Requêtes MySQL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 146
    Par défaut COUNT et multi jointures
    Bonjour à tous.

    Je possède 5 tables. Les voici :

    Createur :
    id_createur
    nom_createur

    GroupeObjets :
    id_groupe
    nom_groupe
    id_createur

    Objet :
    id_objet
    nom_objet
    id_groupe

    TypeGroupe :
    id_type
    nom_type

    GroupesType :
    id_groupestype
    id_groupe
    id_type

    J'ai mis un fichier .sql en picède jointe qui génère ces tables et les peuple très brièvement pour pouvoir tester la requête.

    J'ai fait une première requête qui consiste à récupérer tous les groupes d'objets, ainsi que leur créateur et le nombre d'objets qu'ils possèdent. La voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT GroupeObjets.id_groupe, GroupeObjets.nom_groupe, Createur.nom_createur, COUNT(Objet.id_objet) AS nb_objets
    FROM Createur, GroupeObjets, Objet
    WHERE GroupeObjets.id_createur = Createur.id_createur AND GroupeObjets.id_groupe = Objet.id_groupe
    GROUP BY GroupeObjets.id_groupe, GroupeObjets.nom_groupe
    Cette requête fonctionne chez moi.

    Maintenant, je voudrais récupérer la même chose, c'est-à-dire tous les groupes d'objets, ainsi que leur créateur et le nombre d'objets qu'ils possèdent, MAIS en ajoutant une condition sur les types de groupe. C'est à dire la même requête que tout à l'heure mais seulement pour les groupes appartenant au "type 1" et au "type 2" par exemple.

    Voilà ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT GroupeObjets.id_groupe, GroupeObjets.nom_groupe, Createur.nom_createur, COUNT(Objet.id_objet) AS nb_objets
    FROM Createur, GroupeObjets, Objet, GroupesType
    WHERE GroupeObjets.id_createur = Createur.id_createur AND GroupeObjets.id_groupe = Objet.id_groupe AND GroupeObjets.id_groupe = GroupesType.id_groupe AND GroupesType.id_type IN ("1", "2")
    GROUP BY GroupeObjets.id_groupe, GroupeObjets.nom_groupe
    Mais ça ne fonctionne pas..

    En espérant trouver de l'aide. Merci beaucoup d'avance à vous
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. COUNT dans une jointure
    Par picsoun dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/04/2006, 20h27
  2. Problème Requete Multi Jointure + Like
    Par thefutureisnow dans le forum Langage SQL
    Réponses: 27
    Dernier message: 06/01/2006, 15h50
  3. Problème Requete Multi Jointure + Like
    Par thefutureisnow dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/01/2006, 19h39
  4. [Conseils] Vue plutôt qu'une requête de multi-jointures
    Par etiennegaloup dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/11/2005, 17h51
  5. un count sur une jointure et ca ne fonctionne pas
    Par elbronziero dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/10/2004, 11h23

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