当前位置: 代码迷 >> Sql Server >> 查询一条数据对应的上司id,以及上级id对应的上级Id
  详细解决方案

查询一条数据对应的上司id,以及上级id对应的上级Id

热度:110   发布时间:2016-04-24 08:56:04.0
查询一条数据对应的上级id,以及上级id对应的上级Id
各位大大们,我请教一个问题:
有张表test,里面有userid(当前用户Id),NewUid(当前用户师父Id) 2个字段;
如何查询: 一个用户Id对应的师父Id, 师父的师父Id, 师父的师父的师父Id,师父的......师父Id呢?
谢谢大大们, 麻烦帮看下哈~
------解决思路----------------------
搜一下 sql2005开始的 cte 递归
------解决思路----------------------

--如:
;with cte as(
select id,NewUid,cast(id as varchar(max))+',' as [path]
from test 
where id='当前UserID'

union all

select t.id,t.NewUid,cte.path+cast(t.ID as varchar)+','
from cte 
join test as t
on cte.NewUid=t.id
)
select * from cte 
  相关解决方案