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 :

Récupérer les données si ma valeur est dans une des deux colonnes


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2017
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2017
    Messages : 81
    Points : 52
    Points
    52
    Par défaut Récupérer les données si ma valeur est dans une des deux colonnes
    Bonjour,

    J'essaie de créer une requête pour récupérer les données de ma table A ainsi que les données de ma table B
    si l'ID_A de ma table A est présent dans la table B dans le champ "ID_MERE" ou "ID_FILLE".
    J'ai codé cette requête qui me renvoi les bonnes lignes mais je n'arrive qu'à récupérer les données de ma table B que sur la ligne où l'ID est la mère (certainement dû au WHERE mais je n'arrive pas à faire autrement).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT A.ID_A, B.ID_MERE, B.ID_FILLE
    FROM A, B 
    WHERE A.ID_A = B.ID_FILLE(+)
    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2017
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2017
    Messages : 81
    Points : 52
    Points
    52
    Par défaut
    Ca fait deux jours que je cherche et c'est lorsque je poste un message que je trouve la solution...

    Pour ceux que ça intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT A.ID_A
    FROM A
    FULL OUTER JOIN B ON (A.ID_A=B.ID_MERE OR A.ID_A=B.ID_FILLE)

  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
    Essayez plutôt comme ceci, vous aurez probablement de meilleures performances :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select A.ID_A, B.ID_MERE, B.ID_FILLE
      from A
      join B on B.ID_FILLE = A.ID_A
     union -- all -- vous pouvez mettre ALL si vous n'avez pas de lignes type ID_MERE = ID_FILLE
    select A.ID_A, B.ID_MERE, B.ID_FILLE
      from A
      join B on B.ID_MERE = A.ID_A;

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/10/2018, 14h55
  2. Réponses: 3
    Dernier message: 11/02/2014, 12h14
  3. Récupérer les données d'un formulaire inclu dans un tableau
    Par Nico87 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/06/2009, 12h07
  4. Réponses: 1
    Dernier message: 18/02/2008, 17h17
  5. Réponses: 3
    Dernier message: 21/06/2007, 01h10

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