首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

PIVOT行转列有关问题

2013-02-15 
PIVOT行转列问题,高手进行转列怎么显示内容?而不是统计数量比如说成绩表:姓名,考试月份,科目,成绩:namemon

PIVOT行转列问题,高手进
行转列怎么显示内容?而不是统计数量
比如说成绩表:姓名,考试月份,科目,成绩:
namemonthsubjectscore
张三2012-09数学80
张三2012-09语文30
张三2012-09英语30
李四2012-09英语45
李四2012-09语文34
张三2012-10化学10
王五2012-10物理30

现在只能够统计:

 select * from 
 (select * from exam) p PIVOT( max(score) for subject in ([数学],[语文],[英语],[物理],[化学]))
  as pvt

=========================================================
namemonth数学语文英语物理化学
李四2012-09NULL3445NULLNULL
张三2012-09803030NULLNULL
王五2012-10NULLNULLNULL30NULL
张三2012-10NULLNULLNULLNULL10
=========================================================
如果成绩是字符串呢,这个效果如何实现:
namemonth数学语文英语物理化学
李四2012-09NULL很菜一般NULLNULL
张三2012-09很好很好较差NULLNULL
王五2012-10NULLNULLNULL很菜NULL
张三2012-10NULLNULLNULLNULL很菜
[解决办法]
好像用max函数也能实现,其他都不用变

热点排行