有一个有父子关系的表TB:ID PARENT
1
2 1
7 2
3 2
4 2
5 3
6 3怎么这通过函数或sql语句用id查找出它的根节点,譬如输入id=3,结果如下:
ID PARENT
5 3
6 3输入id=2,结果如下:
ID PARENT
4 2
5 3
6 3
7 2
输入id=1,结果如下:
ID PARENT
4 2
5 3
6 3
7 2求高手解答。
1
2 1
7 2
3 2
4 2
5 3
6 3怎么这通过函数或sql语句用id查找出它的根节点,譬如输入id=3,结果如下:
ID PARENT
5 3
6 3输入id=2,结果如下:
ID PARENT
4 2
5 3
6 3
7 2
输入id=1,结果如下:
ID PARENT
4 2
5 3
6 3
7 2求高手解答。
解决方案 »
- 求SQL或存储过程
- 如何使得我的数据表中的数据按照自己设定的顺序进行存储
- 求SQL~
- 字段类型长度还有去空格问题~100分!
- 如何判断我发布的文件时当天的还是昨天发布的
- 问一个理论问题。。。
- 怎么收回temp表空间的占有空间
- Oracle9i在安装时候,选择企业版,并选择不自动安装数据库的安装方式,安装成功后,现在需要创建数据库,如何解决,谢谢!
- Oracle中怎么把某一列的数据转成某行的数据(在线¥¥¥¥急,望高手进来看看)
- oracle关于动态分区的问题
- 问一个有关取最大值的函数
- ((END_TIME - START_TIME)*86400) != DURATION,为什么明明相等,但执行却不等?
个人觉得楼上的节点关系有点问题……
不吝赐教!select * from tb
start with parent = 3
connect by prior id = parent
order by id
2 connect by prior id = parent
3 start with parent = 2
4 / ID PARENT
---------- ----------
7 2
3 2
5 3
6 3
4 2SQL>
SQL> select id, parent from test
2 connect by prior id = parent
3 start with parent =
4 1; ID PARENT
---------- ----------
2 1
7 2
3 2
5 3
6 3
4 26 rows selected