Bonjour,

voilà je me viens mettre ma question sur le forum car j'ai beau rechercher... Je désespère.

J'ai une table EMPLOYES dans laquelle se trouve :
NumSecu(CP)
Nom,
NumChef ( référence à un numSecu)

On demande d'afficher le nom d'un employé ainsi que le nom de ses 3 chefs directs. Cette recherche des 3 chefs directs se fait par UNE seule Requete SQL.

ça doit être une seule requête qui s'adapte aux nombres de chef direct de la personne recherchée sans intervention de PL SQL ..

Comme exemple j'ai ARTHUR qui n'a qu'un chef, ROBERT qui en a 2 , CESAR qui en a 3 et LAURE qui n'a pas de chef

ARTHUR chef LAURE
ROBERT chef ARTHUR chef LAURE
CESAR chef ROBERT chef ARTHUR chef LAURE
LAURE ( sans chef)


Avez vous une idée concernant la requête ? Ceci dois être intégré dans un package PL/SQL avec comme entrée le nom d'un employé et en sortie une table

J'ai testé ceci qui me donne bien la réponse quand la personne où il y a le plus de patron mais si je change CESAR par un autre. Je n'obtiens plus rien

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT A.nom, B.nom, C.nom, D.nom 
FROM employes A, employes B, employes C, employes D 
WHERE c.numchef = D.numsecu 
AND c.numchef IN(SELECT numchef 
FROM employes 
WHERE b.numchef = C.numsecu 
AND b.numchef IN(SELECT numchef 
FROM employes 
WHERE A.numchef = B.numsecu 
AND A.numchef IN(SELECT numchef 
FROM employes 
WHERE nom ='CESAR ')))
En vous remerciant.