根据树父子ID拼接无限极树结构表的名称

declare @c varchar(50)
set @c='572a3d51-ef7a-459e-a5cd-ebf0fca51e8b' --能查出来呀 你试试,我试一下,好像可以啦谢谢
declare @a nvarchar(50)
select @a=Name from DeviceName where PerssionID=1


declare @b int
;with kk
AS(
select * from DeviceName where ID =@c
union all
select a.* from DeviceName A
join kk B on A.PerssionID=B.PID
)

select @b=PerssionID from kk where pid=1
;with zz
AS(
select * from DeviceName where pid =@b
union all
select a.* from DeviceName A
join zz B on A.PID=B.PerssionID
)
select @a + '-'+Name+'-'+ STUFF(( SELECT '-' + Name
FROM zz
FOR
XML PATH('')
), 1, 1, '') from DeviceName where PerssionID=@b

原文地址:https://www.cnblogs.com/115FXC/p/3863574.html