当前位置: 代码迷 >> Sql Server >> 在while循环中的select有关问题
  详细解决方案

在while循环中的select有关问题

热度:112   发布时间:2016-04-24 08:52:51.0
在while循环中的select问题。
DECLARE @a int
set @a=0
WHILE @a<10
BEGIN
SELECT * from A
@a=@a+1
END
在这个例子中,A会被查询10次,出现10个表。有没有一种方法能让这10个表union all起来,合成一张表(由于数据量大,所以最好不创建新表当临时表)。感谢大神。
------解决思路----------------------
DECLARE @a int,@sql nvarchar(max)
set @sql=''
set @a=0
WHILE @a<10
BEGIN
set @sql=@sql+'
SELECT * from A '
@a=@a+1
if @a<10
set @sql=@sql+' union all '
END
print @sql
exec (@sql)
  相关解决方案