小技巧分享:关于树状展现(或叫层次展现)的问题

[复制链接]
查看11 | 回复2 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
在一项目中,遇到这样的问题:
一大型国企的组织机构异常复杂,比如总部编码为0000,北京分部为1131,上海分部1354,西安分部3574...其中北京分部下还有若干个子分部,编码为nnnn,mmmm,llll...
怎杨层次展现这个组织机构?
之前没有oracle的树状查询的知识,害的我考虑用递归去找,很不方便,程序也写得很复杂,后来无意中才知道oracle自己带这一功能,举例供大家分享。
1)考虑表结构和组织数据,表命定为test
id1 code name
id2
1 0000 总部
2 1131 北京分部
1
3 1354上海分部
1
4 3574 西安分布
1
5 nnnn 北京分部自分部1 2
6 mmmm 北京分部自分部2 2
7 llll 北京分部自分部3 2
...
2)oracle的树状查询:
如果要显示从总部往下的所有机构的树状结构,用以下语句:
select a.*,level from test a start with code='0000' connect by prior id1=id2;
如果要显示北京分部往下的机构的树状结构,用以下语句:
select a.*,level from test a start with code='1131' connect by prior id1=id2;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
嘿嘿,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行