当前位置: 代码迷 >> Sql Server >> 转置查询后,怎么给结果添加百分号 %
  详细解决方案

转置查询后,怎么给结果添加百分号 %

热度:138   发布时间:2016-04-24 08:46:17.0
转置查询后,如何给结果添加百分号 %
代码如下:

[code]
 declare @sql varchar(8000)
 set @sql = 'select 月份,客户'
 select @sql = @sql + ',isnull (sum(case 产线 when '''+产线+''' then 负荷率 end),0) as ['+产线+']' 
 from (select distinct 产线 from cnfh) as a
 select @sql = @sql+' from cnfhgroup by 月份,客户'
 exec(@sql) 
[/code]

当我将它改成这样就报错了,提示:
服务器: 消息 403,级别 16,状态 1,行 4
对数据类型而言运算符无效。运算符为 modulo,类型为 varchar。
[code]
 declare @sql varchar(8000)
 set @sql = 'select 月份,客户'
 select @sql = @sql + ',cast(isnull (sum(case 产线 when '''+产线+''' then 负荷率 end),0) as varchar(12)) +'%'  as ['+产线+']' 
 from (select distinct 产线 from cnfh) as a
 select @sql = @sql+' from cnfhgroup by 月份,客户'
 exec(@sql) 
[/code]
------解决思路----------------------
 declare @sql varchar(8000)
 set @sql = 'select 月份,客户'
 select @sql = @sql + ',cast(isnull (sum(case 产线 when '''+产线+''' then 负荷率 end),0) as varchar(12)) +'‘%'’  as ['+‘产线’+']' 
 from (select distinct 产线 from cnfh) as a
 select @sql = @sql+' from cnfhgroup by 月份,客户'
 exec(@sql) 
  相关解决方案