ORACLE的层次搜索问题

今天研发的一个同事和我讨论这样一个问题:
   
    公司中有多个部门和部门内的小组,如果知道一个部门或小组的编号,是否可以直接列出该部门或小组的所有上级和所有下级。
    例如:部门信息表[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!博客51CTO博客,原文链接http://blog.51cto.com/miracle/60188如需转载请自行联系原作者


Larry.Yue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值