在SQL Server中,如何選擇多個值到臨時表中?T-SQL,select into
例如,我想把'A','B'放到#tmp表中,怎麼做?
select 'A'
union
select 'B'
into #tmp
在SQL Server中,如何選擇多個值到臨時表中?T-SQL,select into
例如,我想把'A','B'放到#tmp表中,怎麼做?
select 'A'
union
select 'B'
into #tmp
你需要把 「變成」 第一選擇,再加上,如果你真的這樣做文字,那麼你必須給它一個列名的標籤。
Select 'A' As 'Label'
Into #tmp
Union
Select 'B'
insert #tmp (yourcol)
select 'A' union
select 'B'
把它包裝成一個子查詢(或CTE)
select * into #tmp
from
(
select col='A'
union select col='B'
) sub
我發現這個更清潔,比@ Jim更直觀。 FWIW。 –
+1:整潔 - 不知道這會工作,並插入兩行。 –
但我建議不要使用「單引號」作爲別名。該語法的某些形式已被棄用,並且與實際字符串文字混合在一起時,對於那些沒有編寫代碼的人來說,這可能會非常令人困惑。我更喜歡'[方括號]',但我的第一個選擇是使用不需要分隔符的別名/列名。 –
@AaronBertrand。這很有趣,(這隻老狗變化很慢)。我可以告訴你的是1)它在SQL 2012中運行時沒有抱怨。 2)SQL 2012文檔*僅*提到方括號。 3)顯然,ANSI也不是!雙引號是! (第三隻手,介意你https://connect.microsoft.com/SQLServer/feedback/details/125027/unclear-deprecation-of-column-alias-in-select-list) – Jim