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 sur trois tables


Sujet :

Langage SQL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut Jointure sur trois tables
    Voici actuellement ma jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select * from A
    left outer join B
      on A.idesuiact = B.idesuiact
    left outer join C
      on A.idesuiact = C.idesuiact
    where B.idesuiact is not null
      and C.idesuiact is not null
    Ca marche, mais le problème est que j'ai des doublons dans le résultat. Je voudrais que les enregistrements de B et C soient fusionnés de tel sorte que l'identifiant A.idesuiact apparaisse une seule fois.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Bon, je fait je me suis débrouillé en faisant un select distinct.

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Puisque vous faites juste un test d'existence (ça dépend de ce que vous sélectionnez réellement, SELECT * étant à proscrire), vous pouvez (peut-être) utiliser EXISTS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT *
      FROM A
    WHERE EXISTS (select null from B
                  WHERE B.idesuiact = A.idesuiact)
      AND EXISTS (select null from C
                  WHERE C.idesuiact = A.idesuiact)

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

Discussions similaires

  1. Requete SQL avec jointure sur trois tables
    Par pit2121 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/05/2008, 23h07
  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. Jointure sur trois tables
    Par user126 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2008, 17h07
  4. [SQL Server 8] Discussion : Full Jointure sur trois tables
    Par Baquardie dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/12/2006, 14h01
  5. jointure sur TROIS tables
    Par caribou_belle dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/03/2004, 11h20

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