列转行--行转列问题
来源:未知 责任编辑:责任编辑 发表时间:2014-03-23 22:32 点击:次
列转行--行转列问题
问题:使用case when实现行转列
解决: www.2cto.com
1、测试准备:
CREATE TABLE StudentScores(
UserName NVARCHAR2(20), --学生姓名
Subject NVARCHAR2(30), --科目
Score FLOAT --成绩
);
2、准备数据:
INSERT INTO StudentScores values ('Nick', '语文', 80);
INSERT INTO StudentScores values ('Nick', '数学', 90);
INSERT INTO StudentScores values ('Nick', '英语', 70);
INSERT INTO StudentScores values ('Nick', '生物', 85);
INSERT INTO StudentScores values ('Kent', '语文', 80);
INSERT INTO StudentScores values ('Kent', '数学', 90);
INSERT INTO StudentScores values ('Kent', '英语', 70);
INSERT INTO StudentScores values ('Kent', '生物', 85);
commit;
目前的数据形式为: www.2cto.com
目标的数据形式:
3、实现方式:
SELECT
UserName,
MAX(CASE WHEN Subject='语文' THEN Score ELSE 0 END) AS "语文",
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>