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 :

[SQL] problème sur un group by


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut [SQL] problème sur un group by
    bonjour,

    je voulais récupérer dans mes tables l'identifiant d'un objet, ainsi que le nombre de cet identifiant dans la table T2.

    et vlmolines m'a donné cette excellente requète qui fait ce que je veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT 	T1.id_machin, 
    	COUNT(T2.id_machin) 
    FROM T1 
    	LEFT JOIN T2 
    		ON T1.id_machin = T2.id_machin
    WHERE condition sur T1
    GROUP BY T1.id_machin
    seulement voila, maintenant j'en veux encore plus. J'aimerais récupérer le nom relatif à l'identifiant, dans une talble T3 !


    J'ai essayer une autre jointure, mais ca me pose un problème dans le group by

    Comment pourrais-je faire ?

    Merci

  2. #2
    Membre éprouvé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Par défaut
    Bonjour,
    il faut ajouter le nom dans ton group by tout simplement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT 	T1.id_machin, 
                 T3.lenom,
    	COUNT(T2.id_machin) 
    FROM T1 
    	LEFT JOIN T2 
    		ON T1.id_machin = T2.id_machin
    	LEFT JOIN T3 
    		ON T1.id_machin = T3.id_machin
    WHERE condition sur T1
    GROUP BY T1.id_machin, T3.lenom
    Il faut bien sûr un lien 1-1 sur la table T3 sinon c'est un peu plus complexe, à voire.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Par défaut
    Merci, je ne savais pas qu'on pouvais grouper selon deux critères comme ça

    (c'est bien en relation 1-1, la référence vers le nom est une clef primaire)

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

Discussions similaires

  1. [WD16] problème sur RAZ(GROUP)
    Par T1929D dans le forum WinDev
    Réponses: 5
    Dernier message: 05/08/2013, 17h29
  2. [SQL] problème sur le delete
    Par luimême dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/06/2007, 11h23
  3. Réponses: 6
    Dernier message: 31/03/2006, 17h05
  4. PL/SQL problème sur Trigger
    Par kitsune dans le forum PL/SQL
    Réponses: 4
    Dernier message: 06/12/2005, 20h35
  5. Débutant SQL, problème sur une jointure censée exclure ??
    Par derfatypik dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/06/2005, 15h55

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