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 :

Problème de jointure entre 3 tables


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Problème de jointure entre 3 tables
    Bonjour;

    j'aimerais faire une requete permettant de me donner le nombre de femme ou d'homme (Champ de la table personne) et inscrit dans un certain "num_eps" (Champ de la table groupe).

    Donc les personnes ont une une ligne dans la table inscription pour chaque inscriptions dans un groupe.


    La table groupe est liée avec la table inscription par 3 clés
    la table inscription est liée a la table personne par 1 clé

    J'espere avoir été clair car je c pas mettre de photo de mes tables et leur relation.

    Donc j'ai commencé a faire ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select count * as nombre from personne inner join inscription on inscription.ins_per_code=personne.per_code where per_sex='F'
    Mais j'aimerais inclure l'autre relation entre inscription et groupe

    Merci beaucoup pour votre aide

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut Re: Problème de jointure entre 3 tables
    Citation Envoyé par Yphon
    La table groupe est liée avec la table inscription par 3 clés
    Difficile de te dire comment faire la jointure sans connaître ces clés, non ?
    Roland

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    les champs commun sont

    entre personne et inscription
    ---------------------------------
    personne.per_code et inscription.ins_per_code


    entre inscription et groupe
    -------------------------------
    groupe.gr_code et inscription.ins_gr_code
    groupe.gr_form_mat et inscription.ins_gr_form_mat
    groupe.gr_from_code et inscription.ins_gr_from_code

  4. #4
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT  personne.per_sex,
              COUNT ( DISTINCT personne.per_code° AS nombre 
    FROM personne 
    INNER JOIN inscription ON
    ( inscription.ins_per_code=personne.per_code)
    INNER JOIN groupe ON
    (
    (groupe.gr_code = inscription.ins_gr_code)
    AND (groupe.gr_form_mat = inscription.ins_gr_form_mat)
    AND (groupe.gr_from_code = inscription.ins_gr_from_code)
    )
    WHERE groupe.num_eps = ...
    GROUP BY Personne.per_sex
    (sous réserve de faute de syntaxe )
    te donnera le nombre de personnes par sexe.


    NB :
    1/ J'ai supposé que l'ensemble des 3 champs formait la clé de ta table groupe
    2/ J'ai mis un DISTINCT, pour le cas où un même num_eps pourrait se retouver dans +eurs groupes ou la même personne serait inscrite. je ne sais pas si c'est nécessaire, mais c'est prudent.
    Roland

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Il m'indique erreur de syntaxe opérateur absent

    Voila ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT (*) AS nombre FROM personne INNER JOIN inscription ON (inscription.ins_per_code = personne.per_code) INNER JOIN groupe ON ((groupe.gr_code = inscription.ins_gr_code) and (groupe.gr_form_mat = inscription.ins_gr_form_mat) and (groupe.gr_form_code = inscription.ins_gr_form_code)) where groupe.gr_num_eps=:Param1

    Param1 = 110

    C une requete ki est faite sous delphi mais cela ne doit pas changer.


    Deja un grand merci pour l'aide

  6. #6
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Citation Envoyé par Yphon
    Il m'indique erreur de syntaxe opérateur absent
    Sur quelle requête ? Sur la mienne, il manque effiectivement une ) en fin de ligne COUNT. La tienne, je ne vois pas...
    Roland

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    au fait c dans ma requete qu'il me met ce message d'erreur

    Je ne comprend pas pq ???

  8. #8
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    je ne vois pas
    Roland

Discussions similaires

  1. [MySQL] Problème de jointure entre 3 table
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/04/2012, 10h16
  2. Problème de jointures entre 3 tables
    Par Ben001 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/09/2009, 19h04
  3. [MySQL] Probléme de jointure entre deux tables
    Par super-java dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/06/2008, 14h49
  4. Problème de Jointure entre plusieurs tables
    Par Stouille89 dans le forum JDBC
    Réponses: 12
    Dernier message: 11/12/2007, 14h16
  5. Problème de jointure entre 2 tables Access
    Par MITCH31 dans le forum VBA Access
    Réponses: 8
    Dernier message: 14/12/2005, 14h31

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