码迷,mamicode.com
首页 > 数据库 > 详细

●sql-行列转换

时间:2016-05-18 00:15:07      阅读:210      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!