我使用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
答案 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)
创建一个临时表并在循环中插入,然后从临时表中选择以获得单个结果集。