1.半成品結果集。it
2.最終效果:select
3.SQLim
--動態行轉列
DECLARE @subSql nvarchar(MAX)
SET @subSql = 'select Row_Number() over(order by agentbigarea,agentname) as RowNumber ,
AgentBigArea as AgentBigArea,AgentName'
SELECT @subSql = @subSql + ',SUM(case wrdname+goodattrvalgroup when ''' + wrdname+goodattrvalgroup+ ''' then
quantity else 0 end) as [' + wrdname+'|'+goodattrvalgroup + '|銷售] ,SUM(case wrdname+goodattrvalgroup
when ''' + wrdname+goodattrvalgroup+ ''' then quantity1 else 0 end) as [' + wrdname+'|'+goodattrvalgroup + '|庫存]
,SUM(case wrdname+goodattrvalgroup when ''' + wrdname+goodattrvalgroup+ ''' then quantity2 else 0 end) as
[' + wrdname+'|'+goodattrvalgroup + '|週轉]'
FROM
(SELECT TOP 10000 wrdname,
goodattrvalgroup
FROM #tempEnd
GROUP BY goodattrvalgroup,
wrdname
ORDER BY goodattrvalgroup,
Max(wrdid)) AS a
SET @subSql = @subSql + ' from #tempEnd group by AgentBigArea,agentname' print @subSql EXEC (@subSql)img