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 :

Jointure et regroupement sur 2 tables


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Jointure et regroupement sur 2 tables
    Bonjour,

    Je vous explique mon problème, j'ai 2 tables :
    CLIENT : attributs ID_CLIENT, NOM et PRENOM
    COMMANDE : attributs ID_CLIENT, VALIDE_CDE

    Je souhaite faire une requête toute simple, je pensais, puisque je veux récupérer les les noms et prénoms des personnes qui ont validé leur commande et qui sont client. Je veux également faire un group by sur les id_client de commande car je veux voir combien chaque client à déjà commandé. J'ai déjà fait un bout de requête mais après lorsque j'introduit le group by, il me sort une erreur d'agrégation, je ne sais pas ce que c'est !
    Merci de m'aider
    Ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CLIENT.ID_CLIENT, CLIENT.NOM, CLIENT.PRENOM, COMMANDE.ID_CLIENT, COMMANDE.VALIDE_CDE 
    FROM CLIENT INNER JOIN COMMANDE ON CLIENT.ID_CLIENT = COMMANDE.ID_CLIENT 
    WHERE (((COMMANDE.ID_CLIENT) Is Not Null) AND ((COMMANDE.VALIDE_CDE)=-1)); 
    (là, je n'ai pas mis le group by)
    [/code]

  2. #2
    Membre habitué Avatar de Cobaye
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Points : 154
    Points
    154
    Par défaut
    Je ferai plutot ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT count(COMMANDE.ID_CLIENT), CLIENT.NOM, CLIENT.PRENOM,  COMMANDE.VALIDE_CDE 
    FROM CLIENT LEFT JOIN COMMANDE ON CLIENT.ID_CLIENT = COMMANDE.ID_CLIENT 
    GROUP BY CLIENT.NOM, CLIENT.PRENOM,  COMMANDE.VALIDE_CDE 
    HAVING COMMANDE.VALIDE_CDE=-1;

Discussions similaires

  1. Jointure et Recherche sur deux tables
    Par fefe69 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/09/2009, 14h11
  2. Réponses: 0
    Dernier message: 18/05/2009, 16h15
  3. Jointure et tri sur 4 tables
    Par Aquellito dans le forum ASP.NET
    Réponses: 5
    Dernier message: 21/03/2009, 15h59
  4. Réponses: 2
    Dernier message: 12/01/2008, 14h57
  5. Réponses: 2
    Dernier message: 22/04/2005, 16h44

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