日期:2014-05-17 浏览次数:20655 次
--SQL2000
SET NOCOUNT ON
DECLARE @a TABLE(指标序号 int,名称 VARCHAR(20), 上级指标 int)
insert @a select 1 ,'xx', 0
union all select 2 ,'yy', 0
union all select 3 ,'ii', 1
union all select 4 ,'oo', 1
union all select 5 ,'zz', 3
union all select 6 ,'tt', 3
DECLARE @b TABLE(序号 int, 分组名 varchar(20), 指标序号 int)
insert @b select 1 ,'考核组', 5
union all select 2 ,'考核组', 6
DECLARE @c TABLE(指标序号 int,名称 VARCHAR(20), 上级指标 int)
INSERT @c SELECT * FROM @a WHERE 指标序号 in(select 指标序号 from @b where 分组名='考核组')
WHILE @@rowcount>0
INSERT @c SELECT * FROM @a WHERE 指标序号 in(select 上级指标 from @c) and 指标序号 not in(select 指标序号 from @c)
SELECT * from @c ORDER BY 指标序号
/*指标序号