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 :

Duplication de colonne nom avec deux jointure différentes


Sujet :

SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut Duplication de colonne nom avec deux jointure différentes
    Bonjour,

    Dans la requête ci-dessous, j'aimerais faire apparaître deux colonnes de nom différentes avec deux liaisons différentes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT a.NOM, b.matri c.VALIDE, a.NOM FROM a, b, c WHERE a.matri = b.matri AND a.matri = c.matri
    La première liaison a.matri = b.matri correspondrait au premier a.NOM
    La deuxième liaison a.matri = c.matri correspondrait au deuxième a.NOM

    Est-ce possible ?

    merci pour vos retour

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 778
    Points
    30 778
    Par défaut
    Peut-être qu'avec un peu plus d'informations, telles qu'un jeu de données et un exemple de résultat, ton besoin paraitra plus clair.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Bonjour,
    Oui j'ai mal exprimé mon besoin.
    J'ai une table a qui contient les noms avec un matricule.
    J'ai une table b qui contient deux champs matricule plus d'autres champs.

    Lorsque que je fais la requête ci-dessous, j'arrive à joindre le premier matricule de la table b au nom de la table a.
    Par contre je voudrais aussi afficher le nom qui correspond a b.matri2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT a.nom,b.matri1,b.dat, b.matri2 from a, b where b.matri1 = a.matri
    merci pour votre aide

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Si matri1 et matri2 sont toujours renseignés, alors une jointure normale suffit pour chaque nom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT b.matri1, n1.nom, b.dat, b.matri2, n2.nom
    FROM B, A n1, A n2
    WHERE n1.matri = b.matri1
    AND n2.matri = b.matri2
    S'ils peuvent être null, alors faut passer par des jointures externe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT b.matri1, n1.nom, b.dat, b.matri2, n2.nom nom2
    FROM B, A n1, A n2
    WHERE n1.matri (+)= b.matri1
    AND n2.matri (+)= b.matri2
    Sinon en sous select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT b.matri1, (SELECT nom FROM A WHERE a.matri = b.matri1) nom1, b.dat, b.matri2, (SELECT nom FROM A WHERE a.matri = b.matri2)  nom2
    FROM B
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/10/2007, 15h35
  2. Etat avec deux sources différentes
    Par Pigwi dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/06/2007, 10h43
  3. Datagrid et combobox avec deux datasource différents
    Par RaelRiaK dans le forum VB.NET
    Réponses: 9
    Dernier message: 07/02/2007, 10h20
  4. Ecrire dans une CEdit avec deux Couleurs Différentes
    Par yoyothebest dans le forum MFC
    Réponses: 1
    Dernier message: 25/03/2006, 20h09
  5. Réponses: 8
    Dernier message: 13/03/2006, 18h37

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