2014-08-27 37 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.