34,587
社区成员
发帖
与我相关
我的任务
分享
use Tempdb
go
--> --> 听雨停了-->生成测试数据
if not object_id(N'Tempdb..#tab') is null
drop table #tab
Go
Create table #tab([ID] int,[NAME] nvarchar(21),[UPID] int)
Insert #tab
select 1,N'A',0 union all
select 2,N'B',1 union all
select 3,N'C',1 union all
select 4,N'D',2 union all
select 5,N'E',2 union all
select 6,N'F',4 union all
select 7,N'G',4
GO
--测试数据结束
--查询id为几的,就把下面的id=''改成几就行了,下面是id=2的
;WITH cte AS (
Select * from #tab WHERE id='2'
UNION ALL
SELECT a.* FROM #tab a
INNER JOIN cte b ON a.UPID=b.id
)
SELECT * FROM cte