
求帮助此语句怎么写,原始表如下,语句如下:
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)