2016-12-19 21 views
6

Czy to możliwe, używając SQL, do wyprowadzania wielu oddzielnie zdefiniowanych zmiennych lokalnych w jednej kolumnie jako osobnych wierszy? Na przykład.SQL Output Wiele zmiennych lokalnych w jedną kolumnę

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

a następnie wybrać zmienne w jakiś sposób jak

SELECT (var1, var2, var3) AS UserIDs, 
     ('u1', 'u2', 'u3') AS Names 

Które produkują poniższej tabeli:

UserIDs | Names 
    4 | u1 
    5 | u2 
    6 | u3 
+0

@MatBailie OP powiedział SSMS, więc serwer SQL jest dorozumiany – JohnHC

+0

@MatBailie a_horse_with_no_name uaktualnili tagów – JohnHC

Odpowiedz

5

użytku stołowego ceniony konstruktor

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

To schludne podejście. Znalazłem więcej informacji [tutaj] (http://blog.sqlauthority.com/2014/10/30/sql-server-beginning-table-valued-constructors-notes-from-the-field-052/) – JohnHC

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

@ PM77-1 Muchos Gracias – JohnHC

+0

To nie praca jednak mam zamiar przyjąć @ Prdp za Odpowiedź – Xynos

+0

@Xynos aby być uczciwym, prdp's to lepsza odpowiedź. – JohnHC