0

我在一行中有两个数字(1 和 3),我想返回一个结果集,其中包含两个数字之间的每个数字的一​​行。

declare @looprange table ( LoopStart int, LoopEnd int)
insert @looprange values (1,3)


select * from @looprange

我怎样才能让它使用 sql server 2008 r2 返回以下内容?

1
2
3
4

1 回答 1

2

请尝试使用 CTE:

declare @looprange table ( LoopStart int, LoopEnd int)
insert @looprange values (1,3)

;with T as(
  select * from @looprange
  union all
  select LoopStart+1, LoopEnd from T
  where LoopStart+1<=LoopEnd
)
select LoopStart From T
OPTION (MAXRECURSION 0)
于 2013-11-15T04:18:59.180 回答