2013-03-14 71 views
0

我是新來的sql編程。使用Pivot時,將記錄存儲到動態查詢中的臨時表中。

我想存儲從透視查詢作爲結果集返回的記錄。

數據透視列是動態選擇的。

我的查詢是:

declare @cols nvarchar(max) 

set @cols=STUFF((select distinct ',[' + LTRIM(rtrim(year(Dt)))+']' from temp FOR XML PATH('')),1,1,''); 

EXEC('select * from 
(select YEAR(Dt)[year],Software,Ver from temp)T 
Pivot(count([year]) for [year] in ('[email protected]+'))PVT') 

我想這個結果保存爲進一步報告的臨時表。

請幫幫我。提前致謝。

回答

1

嘗試下面的查詢。您將不得不使用INTO

declare @cols nvarchar(max) 

set @cols=STUFF((select distinct ',[' + LTRIM(rtrim(year(Dt)))+']' 
from temp 
FOR XML PATH('')),1,1,''); 

EXEC('select * INTO ##temptable from 
    (select YEAR(Dt)[year],Software,Ver from temp)T 
    Pivot(count([year]) for [year] in ('[email protected]+'))PVT') 
相關問題