connect_by_root 的使用方法 10g的http://www.zdnet.com.cn/developer/database/story/0,3800066906,39401406-3,00.htm 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个和我的不太一样啊,我想指定一个子ID,来显示它的最顶层的亲ID,这个好像不能指定子ID啊 SQL> select * from tree;NODE PNODE-------------------- --------------------1 67 99 81 22 33 41 57 行 已选择SQL> SQL> SELECT * 2 FROM (SELECT LEVEL L, TREE.* 3 FROM TREE 4 START WITH PNODE = '4' 5 CONNECT BY PNODE = PRIOR NODE 6 ORDER BY L DESC) 7 WHERE ROWNUM = 1 8 / L NODE PNODE---------- -------------------- -------------------- 3 1 2SQL> SQL> SELECT * 2 FROM (SELECT LEVEL L, TREE.* 3 FROM TREE 4 START WITH PNODE = '8' 5 CONNECT BY PNODE = PRIOR NODE 6 ORDER BY L DESC) 7 WHERE ROWNUM = 1 8 / L NODE PNODE---------- -------------------- -------------------- 2 7 9SQL> start with 子ID =4 connect by prior 亲ID=子ID ,这样不行吗? connect_by_root是10g的用法,如果只是取id = 4 的最上层亲id ,不用connect_by_root也很容易办到,只是如果要把所有id的最上层id都列出来,就要用connect_by_root了,我这里没环境,也不好测试,我想最后结果应该是这样的 亲ID 子ID 最上层亲id 1 2 1 2 3 1 3 4 1 6 5 7 7 6 7 这么写不知道行不行,你可以试试,我这里没测试环境,用法就这样了,自己多试试吧 SELECT CONNECT_BY_ROOT 亲id as 最上层id, 子id FROM employees --start with id = 4 CONNECT BY 子id = PRIOR 亲id 求助在线:关于oracle自增序列的问题 VPN下访问Oracle数据库所遇问题 表关联 更新优化 oracle 求解多元线性回归方程 ORACLE10 如何使用UTL_FILE包将数据写入文本文件? ORACLE内一个select语句,请高手解释一下 求教,特殊的自动生成id?(100分) 关于定时作业,以及对数据库的影响 要命呀~~~~~~~~~``高手请指教!!!! 游标循环,每次循环都有上次查询的数据, 怎么解决 升星了,散分 数据迁移的问题
-------------------- --------------------
1 6
7 9
9 8
1 2
2 3
3 4
1 57 行 已选择SQL>
SQL> SELECT *
2 FROM (SELECT LEVEL L, TREE.*
3 FROM TREE
4 START WITH PNODE = '4'
5 CONNECT BY PNODE = PRIOR NODE
6 ORDER BY L DESC)
7 WHERE ROWNUM = 1
8 / L NODE PNODE
---------- -------------------- --------------------
3 1 2SQL>
SQL> SELECT *
2 FROM (SELECT LEVEL L, TREE.*
3 FROM TREE
4 START WITH PNODE = '8'
5 CONNECT BY PNODE = PRIOR NODE
6 ORDER BY L DESC)
7 WHERE ROWNUM = 1
8 / L NODE PNODE
---------- -------------------- --------------------
2 7 9SQL>
亲ID 子ID 最上层亲id
1 2 1
2 3 1
3 4 1
6 5 7
7 6 7
这么写不知道行不行,你可以试试,我这里没测试环境,用法就这样了,自己多试试吧 SELECT CONNECT_BY_ROOT 亲id as 最上层id, 子id
FROM employees
--start with id = 4
CONNECT BY 子id = PRIOR 亲id