现有表结构T1
编号 数量
1001 2
1002 1
1003 4
1004 5
新表T2,根据T1表的数量,把编号放入T2表,T2表只有一个标号字段,数据如下
编号
1001
1001
1002
1003
1003
1003
1003
1004
1004
1004
1004
1004
因为数据量比较大,希望能用速度比较快的方式实现,谢谢大家
------解决思路----------------------
试试这个:
insert into T2
select 编号
from T1 t,master..spt_values s
where s.type = 'P' and s.number >=1 and s.number <= 数量
------解决思路----------------------
试一下下面的sql
with cte as
(
select 编号,数量-1 as 数量 from T1 where 数量>0
union all
select 编号,数量-1 as 数量 from cte where 数量>0
)
insert T2(编号) select 编号 from cte order by 编号 OPTION(MAXRECURSION 0)
select * from T2