我是sql编程的新手。
我想存储从数据透视查询返回的结果集记录。
动态选择数据透视表列。
我的查询是:
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 ('+@cols+'))PVT')
我想将此结果存储到临时表中以进行进一步报告。
请帮帮我。提前致谢。
答案 0 :(得分: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 ('+@cols+'))PVT')