2014-08-27 5 views
-2

동일한 쿼리에서 다른 수준의 재귀에 관한 정보를 표시 할 수 있습니까? 내가 가진이 쿼리와 다른 레벨의 재귀 SQL 및 정보

select LEVEL, ae2.CAB, ae2.NIVEAU, ae2.ENTITE, ae2.ENTITE_PARENT, ae2.libelle 
from my_table ae2 
where ae2.NIVEAU = 2 
start with ae2.cab = 'XXX' 
connect by prior ae2.entite_parent = ae2.entite 

루트 위의 개체에 대한 정보의 4 개 수준 (의 말을하자) 'XXX'

가 동시에 루트 정보를 표시 할 수 있습니까?

답변

1

예, CONNECT_BY_ROOT 연산자를 사용할 수 있습니다. 당신이 부모의 cab를 원한다면 예를 들어, 쿼리는 다음과 같습니다 당신은 당신이 선택하려는 각 열에 대해 새로운 연산자를 사용해야

select connect_by_root cab 
     , level, cab, niveau, entite, entite_parent, libelle 
    from my_table 
    where niveau = 2 
    start with cab = 'XXX' 
connect by prior entite_parent = entite 

. 이 연산자를 사용하여 "다른"재귀 수준의 정보를 루트에서만 가져옵니다. 더 원한다면 recursive subquery factoring.

을 사용해야합니다.