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

Requêtes MySQL Discussion :

Liens entre trois tables


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut Liens entre trois tables
    Bonjour,
    J'ai trois tables t1, t2 et t3 comme ceci:
    t1:
    Id Para1
    1 a
    2 b
    3 c

    t2:
    Id Para2
    1 x
    2 y

    t3:
    Id Para3
    3 p

    Comment écrire la requête pour obtenir le résultat suivant:
    Id Para1 Para2 Para3
    1 a x None
    2 b y None
    3 c None p

    Un grand merci d'avance pour votre aide!

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Il semble, d'après ton exemple, que la table t1 soit la référence à partir de laquelle il faut chercher les correspondances dans les deux autres tables ?

    Utilise deux jointures externes à partir de la table t1.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    Bonjour,
    Merci pour cette réponse. J'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select t.Para1,u.Para2, v.Para3
    from t1 t,t2 u, t3 v
    left outer join t2 on t.pid = u.pid
    left outer join t3 on t.pid = v.pid
    et j'obtiens une combinatoire de tous les paramètres de style
    1 a x p
    1 a y p
    2 a x p
    2 a y p
    etc.

    pas de case avec None comme souhaité...
    Comment y remédier?

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Tu n'as pas bien lu l'article sur les jointures dont j'ai donné le lien !

    Mettre les 3 tables dans le FROM entraînes un produit cartésien entre le contenu des trois tables.
    => Retire t2 et t3 du FROM.

    Tu n'auras pas "none" mais NULL. Si tu tiens absolument à avoir "none", utilise COALESCE dans le SELECT.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    Salut,
    C'est vrai, ne n'avais pas bien lu. Maintenant ça marche.
    Merci.

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

Discussions similaires

  1. [Conception]Lien plusieurs à plusieurs entre trois table
    Par egg3774 dans le forum Modélisation
    Réponses: 5
    Dernier message: 20/04/2007, 17h44
  2. [debutant]problematique entre trois tables
    Par djodjo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/08/2005, 15h21
  3. requete entre trois tables
    Par fpouget dans le forum Langage SQL
    Réponses: 8
    Dernier message: 08/03/2005, 21h44
  4. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15
  5. lien entre les table de paradox
    Par salim_intic1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/05/2004, 16h00

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