行状列中的值为负数显示不出来是怎么回事?

orangefrog132 2009-11-27 02:36:40
tb:
张三 语文 74
张三 数学 -83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94

select * from tb '1
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql) '2

1的结果为上面显示
2的结果为
姓名 数学 物理 语文
李四 84 94 74
张三 0 93 74

负数显示不出来,但是可以参与运算,请问如何显示负数呢,请各位帮帮忙
...全文
173 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2009-11-27
  • 打赏
  • 举报
回复
select @sql = @sql + ' , sum(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql)
lzp4881 2009-11-27
  • 打赏
  • 举报
回复
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧