合并While循环生成的结果集

时间:2013-12-28 04:11:03

标签: mysql sql sql-server-2008

我使用while循环生成结果集。但它给了我多个结果集而不是单个结果集。但我想结合到单个结果集中。这是我的代码: -

declare @n int ;
set @n=0;
while @n<3 begin
select @n as RS;
set @n=@n+1;
end

它给出了4个结果集,如: -

RS
0
RS
1
...

需要这样: -

RS
0
1
2
3

2 个答案:

答案 0 :(得分:1)

您可以使用表变量执行此操作:

declare @n int ;
declare @t table (n int);

set @n=0;
while @n<3 begin
    insert into @t
        select @n;
set @n=@n+1;
end;

select @t;

然而,有更好的方法,如递归CTE来做到这一点。

答案 1 :(得分:0)

创建一个临时表并在循环中插入,然后从临时表中选择以获得单个结果集。