各位大大们,我请教一个问题:
有张表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