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 :

COUNT avec jointure sur table fille ne renvoie pas de valeur si 0 fils


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 31
    Points : 30
    Points
    30
    Par défaut COUNT avec jointure sur table fille ne renvoie pas de valeur si 0 fils
    Bonjour,

    j'ai une base avec une table 'session', et une table 'enregistrement'. Cette dernière contient une foreign key sur la cle primaire de 'session', 'idSession'.

    J'ai du mal à écrire une requête qui doit renvoyer la liste de toutes les sessions, ainisi que le nombre d'enregistrements correspondants pour chacune!

    En effet, si une session ne figure dans aucun 'Enregistrement', la 'Session' concernée est tout simplement zappée...

    Voilà ma requête pour l'instant :

    select Session.*, count(Enregistrement.idSession) from Session, Enregistrement where Session.idSession = Enregistrement.idSession group by Session.idSession, nomSession, timeDebut, timeFin

    les autres champs sont de la table 'Session', et je précise que je suis sous Sql Server 2000...

    Si quelqu'un peut m'aider... merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 9
    Points : 15
    Points
    15
    Par défaut jointure externe
    sous oracle, j'écrirais ça comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select Session.*, count(Enregistrement.idSession) 
    from Session, Enregistrement 
    where Session.idSession = Enregistrement.idSession (+)
    group by Session.idSession, nomSession, timeDebut, timeFin
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select Session.*, count(Enregistrement.idSession) 
    from Session 
    left join Enregistrement  
    on Session.idSession = Enregistrement.idSession
    group by Session.idSession, nomSession, timeDebut, timeFin
    En tout cas, tu as là une idée de solution, même si la syntaxe n'est pas correcte.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 31
    Points : 30
    Points
    30
    Par défaut
    Cela marche parfaitement, c'est exactement ce que je voulais!

    Je te remercie beaucoup pour ton aide. Bonne journée

  4. #4
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par claudio.matzke
    sous oracle, j'écrirais ça comme ça:
    Depuis la version 9, Oracle gère (enfin) la syntaxe normalisée des jointures
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

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

Discussions similaires

  1. [AC-2003] Table lecture seule avec jointure sur table normale
    Par geodan dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/11/2013, 21h13
  2. Requête SQL avec jointure sur trois tables
    Par pit2121 dans le forum SQL
    Réponses: 0
    Dernier message: 19/05/2008, 20h24
  3. Jointures sur table de liaison (n-n) renvoie des doublons
    Par MICHEL_R dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2008, 14h34
  4. [MySQL] requête avec jointure sur la même table
    Par gwena54 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 08/05/2007, 11h22
  5. [FB1.5]Vue avec jointure sur tables ?
    Par Sitting Bull dans le forum SQL
    Réponses: 2
    Dernier message: 07/12/2004, 17h07

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