我正在尝试使用SQL查询来读取递归数据,如下所示:
ParentId ChildId
1 2
2 3
3 4
4 5
4 6
8 9
如果提供了ParentId
,则查询应以递归方式返回所有ChildId
。
示例:parentId =1
,result = {2, 3, 4, 5, 6}
我发现connect_by_root
和connect by prior
是我应该使用它的原因。但是我无法做到这一点。
数据库:Oracle和Db2
答案 0 :(得分:0)
这应该可以解决问题:
SELECT ChildId, ParentId, LEVEL
FROM myTable
CONNECT BY PRIOR ChildId = ParentId;
答案 1 :(得分:0)
这样做了:
SELECT childid
FROM btab
START WITH parentId = 1
CONNECT BY PRIOR childId = parentId;
感谢#Bulat& #AngocA,指针