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 :

Un appel à COUNT fausse ma requête


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut Un appel à COUNT fausse ma requête
    Bonjour,

    J'essaie de faire une requête sur 3 tables, tout fonctionne bien jusqu'à ce que j'ajoute un COUNT() sur un champ, j'ai plus qu'un seul résultat en sortie au lieu de 15.

    Voici le schéma:
    Table 1: Proprietaire
    Champs: id, nom, prenom

    Table 2: Véhicule
    Champs: id, proprietaire_id, marque

    Table 3: reparation
    Champs: id, véhicule_id, date_reparation

    Et voici la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT proprietaire.nom, vehicule.marque COUNT(reparation.date_reparation)
    FROM proprietaire
    INNER JOIN vehicule
    ON proprietaire.id = vehicule.proprietaire_id
    RIGHT OUTER JOIN reparation
    ON vehicule.id = reparation.vehicule_id
    WHERE proprietaire.id = 4
    Le but est de sortir le nom du propriétaire, le nom des marques de toutes ses voitures, et de compter le nombre de réparation pour chaque marque.

    Est-il possible de faire cela en une seule requête ?

    Merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Déjà j'ai un gros doute sur le right join, ne faudrait-il pas plutôt un left ?
    => http://sqlpro.developpez.com/cours/sqlaz/jointures/

    sinon pour votre question, regardez le group by => http://sqlpro.developpez.com/cours/sqlaz/ensembles/

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Bonjour

    la réponse se trouve là :
    http://sqlpro.developpez.com/cours/sqlaz/ensembles/

    De plus, il manque une virgule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT proprietaire.nom, vehicule.marque, COUNT(reparation.date_reparation)
    ...... 
    GROUP BY ....
    Merci d'ajouter un sur les tags qui vous ont aidé

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut
    Merci !

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

Discussions similaires

  1. Appel fonction dans une requête
    Par the java lover dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 07/10/2008, 11h57
  2. Probleme count(*) dans une requête
    Par guappi dans le forum SQL
    Réponses: 4
    Dernier message: 19/05/2008, 11h49
  3. 2 count dans une requête
    Par illegalsene dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/11/2007, 18h20
  4. [MySQL] Deux COUNT dans une requête
    Par ecchymose dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 05/07/2007, 23h24
  5. [debutant]count dans un requête
    Par Anubis dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/03/2007, 12h05

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