34,590
社区成员
发帖
与我相关
我的任务
分享
DECLARE @A TABLE (id int,name char,pid int)
INSERT INTO @A(id,name,pid)
SELECT 1,'r',0 UNION ALL
SELECT 2,'r',0 UNION ALL
SELECT 3,'c',1
select * from @A
;with f as
(
select * from tb where name='r'
union all
select a.* from tb a, f where a.pid=f.id
)
select * from f
DECLARE @A TABLE (id int,name char,pid int)
INSERT INTO @A(id,name,pid)
SELECT 1,'r',0 UNION ALL
SELECT 2,'r',0 UNION ALL
SELECT 3,'c',1
select * , haschild = (select count(1) from @a where pid = t.id) from @A t
/*
id name pid haschild
----------- ---- ----------- -----------
1 r 0 1
2 r 0 0
3 c 1 0
(所影响的行数为 3 行)
*/