select id, paraentId from t connect by prior id = paraentId
楼上的反了 select id, paraentId from t connect by id = prior paraentId
楼上的反了 select id, paraentId from t connect by id = prior paraentId
呵呵呵,这个表设计的很奇特,所以让1楼的误会了。 id paraentID 1 2 1 3 1 4 这里应该改成 id paraentID 2 1 3 1 4 1 就好理解一些。所以也就需要反过来了select id, paraentId from t connect by id = prior paraentID
这个是Oracle的一个层次结构问题. 解决的方法如下: 首先你的节点和层次是这样的. SELECT level,rpad(’-',level,’-') || id tree, sys_connect_by_path(id,’/') Path, connect_by_root id from hierarchy start with parentId is 1 connect by parentId = prior id;你的这个表格正好是倒序。
select id, paraentId from t connect by prior id = paraentId
select id, paraentId from t connect by id = prior paraentId
select id, paraentId from t connect by id = prior paraentId
id paraentID
1 2
1 3
1 4
这里应该改成
id paraentID
2 1
3 1
4 1
就好理解一些。所以也就需要反过来了select id, paraentId from t connect by id = prior paraentID
解决的方法如下:
首先你的节点和层次是这样的.
SELECT level,rpad(’-',level,’-') || id tree, sys_connect_by_path(id,’/') Path, connect_by_root id
from hierarchy
start with parentId is 1
connect by parentId = prior id;你的这个表格正好是倒序。