Bonjour,
j'ai une table Entite avec une relation récursive :

Entite
idEntite
libelleEntite
idEntiteParente
idTypEntite


  • Je sais calculer le chemin récursif pour une entité pour avoir toute sa hiérarchie
  • Je sais retrouver, dans le chemin récursif d'une entité donnée, la prochaine entité de type X avec la requête suivante :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Select (Select libelleEntite from Entite where idEntite = 1) as enfant,
e.libelleEntite as parentDeType9, level 
from Entite e start with e.idEntite = 1
where e.idTypEntite = 9 
connect by prior e.idEntiteParente = e.identite
retour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
'MonEntite1';'ParentDeType9DeMonEntite1';12
Je n'arrive cependant pas à formuler ma requête pour que celle ci me renvoie en résultat toutes mes entités et à coté tous leurs parentsDeType9 respectifs.
retour attendu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
'MonEntite1';'ParentDeType9DeMonEntite1';12
'MonEntite2';'ParentDeType9DeMonEntite2';4
'MonEntite3';'ParentDeType9DeMonEntite3';18
'MonEntite4';'ParentDeType9DeMonEntite4';2
Auriez vous une idée ?

PS : Pour ce cas, on considère qu'il y aura toujours une entité de type 9 dans la hiérarchie de chaque entité, sinon on ne renvoie rien.

Merci d'avance !