SQL выводит несколько локальных переменных в один столбец

возможно ли, используя 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

2 ответов


использовать конструктор табличных значений

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

select var1 as UserID, 'u1' as Name
union all
select var2, 'u2'
union all
etc
etc