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

SQL Oracle Discussion :

Joiture de 3 tables


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Par défaut Joiture de 3 tables
    Bonjour,

    j'ai 3 tables:
    table1(id1 char(3), id2 char(2))
    table2(id2 char(2), flag char(1) )
    table3(id1 char(3), id2 char(2))

    je souhaiterais récupérer pour chaque id1 de table1 la valeur du champ table2.FLAG de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select table2.FLAG
    from table1, table2, table3
    where table1.id1=table3.id1
    and table3.id2=table2.id2
    mais si table3.id2 IS NULL alors je dois récupérer l'info de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select table2.FLAG
    from table1, table2
    where table1.id2=table2.id2
    comment faire ça en une seule requête ??

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Pas de jeu de données, pas d'exemple de ce que vous avez avec vos requêtes, pas d'exemple de ce que vous attendez ?

    J'imagine que vous voulez une jointure externe multiple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT table2.FLAG
    FROM
        table2
        LEFT OUTER JOIN table1
          ON table1.id2 = table2.id2
        LEFT OUTER JOIN (
          table3 INNER JOIN table1
            ON table1.id1 = table3.id1)
          ON table3.id2 = table2.id2
    Après il faut jouer sur ce qui est nul ou pas mais encore une fois sans données point de salut.

Discussions similaires

  1. Réparation table/entête endommagée
    Par tbesrour dans le forum Paradox
    Réponses: 15
    Dernier message: 27/11/2007, 10h42
  2. Joiture sur 4 tables
    Par bolo dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/11/2004, 22h40
  3. Requette de joiture sql avec au moin 3 tables
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/03/2004, 08h10
  4. Newbie......compilateur et table de caractères
    Par Cyberf dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 21/08/2002, 14h29
  5. [Comparatifs] Limites nombres tables et quantité de données
    Par benj63 dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 13/06/2002, 21h31

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