递归查询--经典

1.表结构:
CREATE TABLE TEST.AREATB
(
    ID                             NUMBER(6,0) NOT NULL,
    AREANAME                       VARCHAR2(256),
    PARENTAREAID                   NUMBER(6,0)
)

2.数据:
1 中国  -1
2 北京  1
3 安徽 1
4 合肥 3
5 宣武区 2

3.SQL:语句
select id, areaname, substr(sys_connect_by_path(areaname,','),2)
from AREATB bb
start with parentareaid = -1
connect by parentareaid=prior id 

4.结果:
1 中国 中国
2 北京 中国,北京
5 宣武区 中国,北京,宣武区
3 安徽 中国,安徽
4 合肥 中国,安徽,合肥


5.函数解释:
sys_connect_by_path 函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示

posted on 2009-12-03 22:28 飞熊 阅读(188) 评论(0)  编辑  收藏 所属分类: ORACLE


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜