注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 伤离别,痛英年早逝,愿天..
 帮助

ORACLE的层次搜索问题


2008-01-21 21:05:53
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://miracle.blog.51cto.com/255044/60188
    今天研发的一个同事和我讨论这样一个问题:
   
    公司中有多个部门和部门内的小组,如果知道一个部门或小组的编号,是否可以直接列出该部门或小组的所有上级和所有下级。
    例如:部门信息表[DEPTAB]
    部门编号       部门名称        上级部门
    【字段ID】   【字段DEP】    【字段PID】
     1                公司             0
     2               运维中心         1
     3               XX中心           1
     ......
     10               技术部           2
     ......
     20              数据支持组      10
     ......

   
    针对这个问题,我只好使用了一个比较笨的办法来实现

select * from DEPTAB
     sTART WITH ID= 10
       CONNECT BY  ID = PRIOR PID
union
select * from DEPTAB     
     START WITH v1= 10
       CONNECT BY  PRIOR ID =  PID;

   
   希望能提出更好的方法 -:)

  

本文出自 “Be the miracle!” 博客,请务必保留此出处http://miracle.blog.51cto.com/255044/60188





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: