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