我正在尝试执行下面的代码。这是我必须编写的实际代码的简化示例,所以我知道以这种方式循环是没有用的。但是,我需要在 SQL Server 中查找并联合选择语句。当我尝试运行此查询时,出现错误:
Incorrect syntax near the keyword 'END'.
有什么想法吗?
DECLARE @position INT
SET @position = -1
WHILE(@position < 1)
BEGIN
SELECT * FROM mytable
UNION ALL
END
SELECT * FROM mytable
最佳答案
我不会尝试使用UNION
,而是使用临时表或临时表变量来合并结果集
CREATE TABLE #Temp
(
<COLUMNS>
)
DECLARE @position INT
SET @position = -1
WHILE(@position < 1)
BEGIN
INSERT INTO #Temp (<COLUMNS>)
SELECT * FROM mytable
SET @position = @position + 1
END
SELECT * FROM #Temp
关于SQL Server while 循环联合所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864558/