L'aide se CONNECTER pour obtenir tous les parents et un enfant dans la Hiérarchie par le biais de la requête SQL dans Oracle

Je passais par certains posts précédents sur se CONNECTER PAR l'usage. Ce que j'ai besoin de savoir, c'est que que faire si je veux obtenir tous les parents (j'.e, jusqu'à la racine) et juste un enfant d'un nœud, dire 4.

Il semble que je vais avoir à utiliser de l'union des deux suivantes:-

 SELECT  * 
 FROM    hierarchy 
 START WITH id = 4
 CONNECT BY id = PRIOR parent
union
     SELECT  *
     FROM    hierarchy
     WHERE LEVEL =<2
     START WITH
     id = 4
     CONNECT BY
     parent = PRIOR id

Est-il une meilleure façon de le faire, certains solution de contournement qui est plus optimisé?

OriginalL'auteur s khan | 2010-03-31