SQL Server while 循环联合所有

标签 sql sql-server

我正在尝试执行下面的代码。这是我必须编写的实际代码的简化示例,所以我知道以这种方式循环是没有用的。但是,我需要在 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/

相关文章:

sql - MySQL - 如何使用 "0"填写邮政编码?

sql - 如何在 SQL Server 中将 DateTime 值迁移到 DateTimeOffset?

sql - 将数据从 MS SQL 导入 MySQL

c# - 将图像保存到数据库

sql - 如何旋转这个父子表?

c# - 在 ASP.NET 网站中使用 File.CreateFile 将文件插入 Sql Server 2012 FileTable 时访问被拒绝

sql - PostgreSQL:返回按外键列分组的最新行

sql - SQL Server 数据集中不同 ID 的计数

php - 在 mysql 中运行更新查询后返回更新后的值

sql - T-SQL 中的 bool 值 'NOT' 不适用于 'bit' 数据类型?