是否可以使用SQL将多个单独定义的局部变量作为单独的行输出到一列中?例如。

DECLARE var1 INT = 4
DECLARE var2 INT = 5
DECLARE var3 INT = 6

然后以某种方式选择变量
SELECT (var1, var2, var3) AS UserIDs,
       ('u1', 'u2', 'u3') AS Names

这将产生下表:
UserIDs | Names
   4    |  u1
   5    |  u2
   6    |  u3

最佳答案

使用表值构造函数

SELECT *
FROM   (VALUES (@var1,'u1'),
               (@var2,'u2'),
               (@var3,'u3')) tc (UserIDs, Names)

10-06 06:43