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

Développement SQL Server Discussion :

Table employés et hiérarchie [2012]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Août 2015
    Messages : 7
    Par défaut Table employés et hiérarchie
    Bonjour tous,

    J'ai une table contenant les noms et prénoms des employés et leurs hiérarchies:


    id prenom nom email manager_id
    1 Sebastien Martin s.martin@example.com
    2 Gustave Dubois g.dubois@example.com
    3 Georgette Leroy g.leroy@example.com 1
    4 Gregory Roux g.roux@example.com 2


    je voulais l'afficher de la manière suivante :


    id e_prenom e_nom email h_manager_id h_prenom h_nom
    1 Sebastien Martin s.martin@example.com NULL NULL NULL
    2 Gustave Dubois g.dubois@example.com NULL NULL NULL
    3 Georgette Leroy g.leroy@example.com 1 Sebastien Martin
    4 Gregory Roux g.roux@example.com 2 Gustave Dubois


    le code que j'ai utilisé est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT e.id as employe_id, e.prenom, e.nom, e.email, h.manager_id, h.prenom, h.nom
    FROM employes_hierarchie as e
    LEFT OUTER JOIN employes_hierarchie as h ON e.id = h.manager_id

    Merci à l'avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 613
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Vous y étiez presque, il suffit d'inverser les alias de jointure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT e.id as employe_id, 
           e.prenom, 
           e.nom, 
           e.email, 
           h.manager_id, 
           h.prenom, 
           h.nom
    FROM            employes_hierarchie as e
    LEFT OUTER JOIN employes_hierarchie as h 
      ON h.id = e.manager_id

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Août 2015
    Messages : 7
    Par défaut
    Bonjour escartefigue,

    Merci pour votre réponse rapide mais il manque les manager_id qui sont 1 et 2, cette colonne affiche NULL partout

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Août 2015
    Messages : 7
    Par défaut Table employés et hiérarchie
    Bonjour escartefigue,

    Je penses que j'ai trouvé la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT h.manager_id, 
           e.prenom, 
           e.nom,
    	   e.email,
    	   e.id as employe_id, 
           h.prenom, 
           h.nom     
    FROM  employes_hierarchie as e
    LEFT OUTER JOIN employes_hierarchie as h
      ON e.id = h.manager_id

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 613
    Billets dans le blog
    10
    Par défaut
    Je n'avais pas fait attention : la colonne manager affichée n'était pas la bonne, voici la requete corrigée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT e.id as employe_id, 
           e.prenom, 
           e.nom, 
           e.email, 
           e.manager_id, 
           h.prenom, 
           h.nom
    FROM            employes_hierarchie as e
    LEFT OUTER JOIN employes_hierarchie as h 
      ON h.id = e.manager_id
    Par contre, si vous voulez les hiérarchies successivez, il faut faire une requete récursive en utilisant une CTE
    cf. https://technet.microsoft.com/fr-fr/...=sql.105).aspx

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Août 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Août 2015
    Messages : 7
    Par défaut
    Merci beaucoup escartefigue pour votre aide

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

Discussions similaires

  1. [WD17] HFiltre sur requete qui comporte une même table employée 2 fois
    Par droliprane dans le forum WinDev
    Réponses: 16
    Dernier message: 17/01/2013, 14h50
  2. membre d'une hiérarchie ou table de dimension ?
    Par mederik dans le forum Conception/Modélisation
    Réponses: 2
    Dernier message: 19/05/2009, 13h44
  3. Hiérarchie par la table de fait
    Par cyberg dans le forum SSAS
    Réponses: 5
    Dernier message: 28/10/2008, 09h08
  4. hiérarchie sur une table et contrainte associée
    Par rock'roll dans le forum Débuter
    Réponses: 2
    Dernier message: 21/01/2008, 09h08
  5. Suppression des commandes d'un employé sur 2 tables
    Par CACHOU_UOHCAC dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/06/2007, 16h46

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