Bonjour,
voici le contexte.

J'ai une table collaborateur, qui a un Type_collab. Chaque collab a un "chef" qui est lui même un collab

un collab de type ingénieur a forcément dans sa hierarchie un collab de type chef de projet.

un collab de type chef de projet a forcément dans sa hierarchie un collab de type manager.

un collab de type directeur n'a pas de chef (idHierarchie = null)

Le problème c'est qu'un ingénieur peut avoir dans sa hierarchie un ingénieur senior entre lui et son chef de projet, voir même un chef d'équipe ...
Le chef de projet peut lui être rattaché directement au manager ou bien avoir un directeur de projet...

Je sais écrire la requête afin de récupérer le chef de projet de chaque ingénieur.
Je sais écrire la requête afin de récupérer le manager de chaque chef de projet

J'ai besoin de votre aide pour écrire la requête me permettant de connaitre le chef de projet et son manager pour chaque ingénieur !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT c.nom  AS ingenieur,
        connect_by_root c.nom AS ChefDeProjet
FROM Collab c, Type_collab t
WHERE c.idtypCollab = t.idTypCollab 
  AND t.codTypeCollab not in ('CP','MANAGER')
  AND connect_by_isleaf = 1   
START WITH t.codTypeCollab = 'CP'
CONNECT BY PRIOR c.idCollab = c.idHierarchie
Résultat obtenu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Ingenieur  ChefDeProjet
Bob         Michel
Luke        Michel
Franck      Michel
Julie         Simon
Sylvain      Simon 
Rachid      Benoit
Sophie      Benoit
Résultat attendu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Ingenieur  ChefDeProjet  Manager
Bob          Michel           François
Luke         Michel           François
Franck      Michel           François
Julie         Simon            Jérôme
Sylvain     Simon            Jérôme
Rachid      Benoit           François
Sophie      Benoit           François
Si vous avez une idée pour faire ça, je suis preneur !
merci d'avance !