2016-12-19 17 views
6

複数の個別に定義されたローカル変数を1つの列に別々の行として出力することはできますか?例えば。複数のローカル変数を1つの列に出力する

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 
+0

@MatBailie OPがとてもSQLサーバーが暗示されてSSMSは、 – JohnHC

+0

@MatBailieのa_horse_with_no_nameタグを更新したPM77-1 Muchos @ – JohnHC

答えて

5

使用表大切コンストラクタ

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

これはきちんとしたアプローチです。私はより多くの情報[ここ]を見つけた(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

が – JohnHC

+0

をグラシアスこれは、しかし、仕事をしたと述べた、私は、公平であることをPRDPの回答 – Xynos

+0

@Xynos @受け入れるつもりですprdp'sはより良い答えです。 – JohnHC