SQLSERVER 动态sql行转列原创
4人赞赏了该文章
1,223次浏览
编辑于2021年08月18日 14:45:58
#data 为报表临时表
#odata1 为临时表
@InsertItem@ 为插入的列,例如:F_103444,F_103445,F_103446,F_103447,F_103448,
代码如下:
declare @sql varchar(8000)
set @sql = 'INSERT INTO #data(FIDENTITYID,FDEPTNAME,@InsertItem@FDEPRSUM)'set @sql += 'select ROW_NUMBER() OVER(order by FDEPTNAME) FIDENTITYID,FDEPTNAME FDEPTNAME'
select @sql = @sql + ' , max(case FASSETTYPEGROUPID when ''' + FASSETTYPEGROUPID + ''' then FDRFUND else 0 end) [F_' + FASSETTYPEGROUPID + ']'
from (select distinct FASSETTYPEGROUPID from #odata1) as a
set @sql = @sql + ' , sum(FDRFUND) FDEPRSUM from #odata1 group by FDEPTNAME'
EXECUTE(@sql)
赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读