sql server获取某一类别及该类别下的所有子类别

1、表结构

create table hr_role
(
  hr_role_id VARCHAR
(50),--岗位id
  hr_role_name VARCHAR(50),--岗位名称
  role_parent_id VARCHAR(30)--上级岗位id
)

insert into hr_role (hr_role_id ,hr_role_name ,role_parent_id ) VALUES('HrRole0000694L74','总经理','NULL')

insert into hr_role (hr_role_id ,hr_role_name ,role_parent_id ) VALUES('HrRole0000694L74001','技术部经理','HrRole0000694L74')

insert into hr_role (hr_role_id ,hr_role_name ,role_parent_id ) VALUES('HrRole0000694L74002','财务部经理','HrRole0000694L74')

insert into hr_role (hr_role_id ,hr_role_name ,role_parent_id ) VALUES('HrRole0000694L74003','市场部经理','HrRole0000694L74')

2、得到总经理及总经理一下的所有岗位

with #temp as  

(  
select hr_role_id,hr_role_name,role_parent_id from hr_role where hr_role_id='HrRole0000694L74'  
union all  
select A.hr_role_id,A.hr_role_name,A.role_parent_id from hr_role A,#temp B where A.role_parent_id=B.hr_role_id
)
select * from #temp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值