ピボットの結果を生成する select ステートメントを使用して、データを一時テーブルにコピーしています。
私の手順は次のとおりです。
alter procedure proc11 AS
create Table #Temp (Software varchar(max), Ver varchar(max))
declare @cols varchar(max)
declare @colTabl varchar(max)
declare @alter varchar(max)
set @cols=STUFF((select distinct ',[' + Ltrim(rtrim(YEAR(Dt))) +']' from temp FOR XML PATH('')),1,1,'');
set @colTabl=STUFF((select distinct '[' + Ltrim(rtrim(YEAR(Dt))) +'] int,' from temp FOR XML PATH('')),1,0,'');
set @colTabl= LEFT(@colTabl,len(@colTabl)-1);
set @alter = 'alter table #Temp add '+ @colTabl;
exec(@alter)
EXEC('select * into #Temp from
(select YEAR(Dt)[year],Software,Ver from temp)T
Pivot(count([year]) for [year] in ('+@cols+'))PVT')
しかし、ステートメントselect * from #Temp
はレコードを返しません。
これらのレコードをコピーするにはどうすればよいですか。
助けてください。前もって感謝します。