您的位置:首页 > 数据库

●sql-行列转换

2016-05-17 23:28 274 查看
-----------原表-------------------
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

-------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: