首页 > 数据库技术 > 详细

●sql-行列转换

时间:2016-05-18 00:12:59      阅读:161      评论:0      收藏:0      [点我收藏+]

 

-----------原表-------------------
student    classes    score
张三    语文    74
张三    数学    83
张三    物理    93
李四    语文    74
李四    数学    84
李四    物理    94
----------------------------------
--1、pivot
SELECT tt.student 姓名,tt.语文,tt.数学,tt.物理
FROM sco AS tt1
PIVOT (SUM(score) FOR classes IN (语文,数学,物理)) AS tt;

--2、
SELECT student 姓名,
MAX(CASE WHEN classes = 语文 THEN score ELSE 0 END) 语文,
MAX(CASE WHEN classes = 数学 THEN score ELSE 0 END) 数学,
MAX(CASE WHEN classes = 物理 THEN score ELSE 0 END) 物理
FROM sco
GROUP BY student

--执行结果
------------------------------
姓名    语文    数学    物理
张三    74    83    93
张三    74    83    93

-------------------------------

 

●sql-行列转换

原文:http://www.cnblogs.com/phantom-k/p/5503677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!