我在Oracle11g中有一個像(id,parent_id)結構的表。在Oracle中的分層查詢
id parent_id
---------------
1 (null)
2 (null)
3 1
4 3
5 3
6 2
7 2
我想查詢它來獲取分層鏈接到這些ID的所有行,所以結果應該是:
root_id id parent_id
------------------------
1 3 1
1 4 3
1 5 3
2 6 2
2 7 2
3 4 3
3 5 3
我已經與connect by
掙扎和start with
相當一段時間,和所有我能得到的是結果的一部分,我想用類似的查詢:
select connect_by_root(id) root_id, id, parent_id from my-table
start with id=1
connect by prior id = parent_id
我想不使用任何for
循環來獲得我的完整結果。
任何想法?
最好的問候, 傑羅姆Lefrère
PS:第一個回答後可進行編輯,我注意到我已經忘記了一些我想要的結果...
感謝您的回答。我編輯了我的帖子,所以'from'和缺少的下劃線不再是問題。你的查詢讓我有絕對的根。我想也得到'id = 3'行的後代 – Jerome