当前位置: 代码迷 >> Sql Server >> SQL列转行以及合计小计有关问题
  详细解决方案

SQL列转行以及合计小计有关问题

热度:63   发布时间:2016-04-24 10:04:50.0
求助SQL列转行以及合计小计问题




求帮助此语句怎么写,原始表如下,语句如下:
declare @sql varchar(8000)
set @sql = 'select fName as ' + 'fname'
select @sql = @sql + ' , max(case size when ''' + size + ''' then color else 0 end) [' + size + ']'
from (select distinct size from #lj_temp2) as a
set @sql = @sql + ' from tb group by fname'
exec(@sql) 
执行完毕后报错 
 消息 245,级别 16,状态 1,第 3 行
在将 varchar 值 '' then color else 0 end) [' 转换成数据类型 int 时失败。

------解决方案--------------------

declare @sql varchar(8000)
 set @sql = 'select fName as ' + 'fname'
 select @sql = @sql + ' , max(case size when  cast(''' + size + ''' as int) then color else 0 end) [' + size + ']'
 from (select distinct size from #lj_temp2) as a
 set @sql = @sql + ' from tb group by fname'
 exec(@sql) 
 
试试
  相关解决方案