oracle 部门层级查询

  1. create table t
  2. CCID             varchar2(20)                        not null
  3. CCNAME VARCHAR2(100) not null
  4.    fid              varchar2(20)  
  5.    constraint PK_T primary key (CCID) 
  6. ); 
  7. insert into t values('0001',        '家用电器', '9999' ); 
  8. insert into t values('00010001',    '小家电',    '0001'  ); 
  9. insert into t values('00010002',    '大家电',     '0001'  ); 
  10. insert into t values('000100020001','洗衣机',     '00010002' ); 
  11. insert into t values('000100020002','平板电视',   '00010002' ); 
  12. insert into t values('000100020003','冰箱',       '00010002' ); 
  13. insert into t values('0002',        '手机数码''9999'  ); 
  14. insert into t values('00020001',   '手机通讯',   '0002' ); 
  15. insert into t values('00020002',    '手机配件',   '0002'  ); 
  16. insert into t values('00020003',    '数码配件',   '0002'  ); 
  17. insert into t values('0003',        '服饰鞋帽''9999'  ); 
  18. insert into t values('0004',        '图书影视''9999' ); 
  19. select ccid,ltrim(sys_connect_by_path(ccname,'-'),'-') ccname   
  20.   from  t   
  21.    start with fid='9999'   
  22.    connect by prior ccid = fid; 
  23. --结果 
  24. CCID                 CCNAME-------------------- -------------------------------------------------------------------------------- 
  25. 0001                 家用电器 
  26. 00010001             家用电器-小家电 
  27. 00010002             家用电器-大家电 
  28. 000100020001         家用电器-大家电-洗衣机 
  29. 000100020002         家用电器-大家电-平板电视 
  30. 000100020003         家用电器-大家电-冰箱 
  31. 0002                 手机数码 
  32. 00020001             手机数码-手机通讯 
  33. 00020002             手机数码-手机配件 
  34. 00020003             手机数码-数码配件 
  35. 0003                 服饰鞋帽 
  36. 0004                 图书影视  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值