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 :

Problème avec auto jointure


Sujet :

Langage SQL

  1. #1
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut Problème avec auto jointure
    Bonsoir,

    J'ai une table Famille contenant les champs :

    1) famille_id (integer)
    2)famille_pere (integer)
    3)famille_libelle (varchar(20))

    j'aimerais qu'avec une auto jointure je puisse afficher pour la ligne courante le libellé de la famille ( de famille_id ) ainsi que le libellé de la famille père (champ famille_pere).

    Pour être plus clair, j'ai suivi l'exemple de SQLPRO :
    http://sqlpro.developpez.com/cours/arborescence/

    Mais avec son exemple ca n'affiche que l'ID du père alors que je souhaiterais aussi que cela m'affiche son libellé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT * 
    FROM FAMILLE
    WHERE FAM_ID = (SELECT FAM_PERE
                    FROM FAMILLE
                    WHERE FAM_ID = 12)
    Merci à vous
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,


    Il faut prendre
    1) famille_id (integer)
    2)famille_pere (integer)
    3)famille_libelle (varchar(20))
    Ou
    FAM_ID
    FAM_PERE
    ???

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    C'est vrai ca n'a pas été trés clair
    alors en ayant ces lignes dans la table famille :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    famille_id       famille_libelle         famille_pere
    -----------  ---------------     -------------
      1              INFORMATQUE           0
      2              EQUIPEMENT             1        --->(lier à INFORMTATIQUE)
      3              ACCESSOIRE             1        --->(lier à INFORMTATIQUE)

    par un SELECT de toute les lignes avec une auto jointure sur la table
    j'aimerais que cela me donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    famille_id      famille_libelle         libelle_pere
    -----------  ---------------    -------------
      1              INFORMATQUE         neant
      2              EQUIPEMENT         INFORMATIQUE
      3              ACCESSOIRE         INFORMATIQUE
    Merci !
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT f1.famille_id, f1.famille_libelle, f2.famille_libelle
    FROM Famille f1
    LEFT JOIN Famille f2 ON f1.famille_pere = f2.famille_libelle
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    C'est nickel !!
    Merci beaucoup CinePhil
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

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

Discussions similaires

  1. Problème d'auto-jointure (jointure N-N)
    Par jbliger dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/03/2009, 18h29
  2. [SQL2005] [TSQL] Problème d'auto-jointure et *
    Par Invité dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/12/2007, 16h14
  3. [MySQL] Problème avec les jointure pour un menu
    Par Glocman dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 31/07/2006, 17h44
  4. Requête avec auto jointure récalcitrante
    Par vmolines dans le forum Langage SQL
    Réponses: 15
    Dernier message: 30/03/2006, 21h31
  5. Réponses: 2
    Dernier message: 21/07/2005, 12h05

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