发生在MS SQL Server中
一个选项使用递归查询:发生在MS SQL Server中,sql,sql-server,tsql,sql-server-2008,sql-server-2005,Sql,Sql Server,Tsql,Sql Server 2008,Sql Server 2005,一个选项使用递归查询: create table #Task (ID int, Name varchar(1), Occurrence int) insert into #Task values (1, 'A', 2) insert into #Task values (2, 'B', 3) insert into #Task values (3, 'C', 1) insert into #Task values (4, 'D', 2) select * from #Task Go : w
create table #Task (ID int, Name varchar(1), Occurrence int)
insert into #Task values (1, 'A', 2)
insert into #Task values (2, 'B', 3)
insert into #Task values (3, 'C', 1)
insert into #Task values (4, 'D', 2)
select * from #Task
Go
:
with cte as (
select id, name, occurrence from #task
union all
select id, name, occurrence - 1 from cte where occurrence > 1
)
select id, name from cte order by id
id |名称
-: | :---
1 | A
1 | A
2 | B
2 | B
2 | B
3 | C
4 | D
4 | D
一个选项使用递归查询:
create table #Task (ID int, Name varchar(1), Occurrence int)
insert into #Task values (1, 'A', 2)
insert into #Task values (2, 'B', 3)
insert into #Task values (3, 'C', 1)
insert into #Task values (4, 'D', 2)
select * from #Task
Go
:
with cte as (
select id, name, occurrence from #task
union all
select id, name, occurrence - 1 from cte where occurrence > 1
)
select id, name from cte order by id
id |名称
-: | :---
1 | A
1 | A
2 | B
2 | B
2 | B
3 | C
4 | D
4 | D
如果您有一个包含数字的表(也可用于其他任务): 简单搜索“创建数字表”,了解如何创建此数字表
如果表格中有数字(也可用于其他任务),请参见: 简单搜索“创建数字表”,了解如何创建此数字表
请参见您的问题是什么?您在这里什么也没问。认真地说,2005年?您在使用什么不受支持的SQL Server版本?请阅读以获取有关改进问题的提示。您的问题是什么?你在这里什么都没问。认真地说2005年?你在使用什么不受支持的SQL Server版本?请阅读一些关于改进你的问题的提示。兄弟谢谢你的回答兄弟谢谢你的回答