oracle SQL竖表转横表
发布时间:2021-12-28 20:47:23 所属栏目:教程 来源:互联网
导读:oracle SQL 实现竖表转横表 T_T_STUDENT表查询记录如下,要转成横表 姓名 课程 成绩 1 张飞 语文 80 2 张飞 数学 87 3 关羽 语文 97 4 张飞 英语 68 5 关羽 数学 53 6 刘备 语文 90 方法一: --用decode实现, SELECT T.NAME, SUM(DECODE(T.Course, 语文, T.Sc
oracle SQL 实现竖表转横表 T_T_STUDENT表查询记录如下,要转成横表 姓名 课程 成绩 1 张飞 语文 80 2 张飞 数学 87 3 关羽 语文 97 4 张飞 英语 68 5 关羽 数学 53 6 刘备 语文 90 方法一: --用decode实现, SELECT T.NAME, SUM(DECODE(T.Course, '语文', T.Score)) 语文, SUM(DECODE(T.Course, '数学', T.Score)) 数学, SUM(DECODE(T.Course, '英语', T.Score)) 英语 FROM T_T_STUDENT T GROUP BY T.NAME 方法二: --用case when 实现 SELECT T.NAME, SUM(CASE T.Course WHEN '语文' THEN T.Score ELSE 0 END) 语文, SUM(CASE T.Course WHEN '数学' THEN T.Score ELSE 0 END) 数学, SUM(CASE T.Course WHEN '英语' THEN T.Score ELSE 0 END) 英语 FROM T_T_STUDENT T GROUP BY T.NAME 姓名 语文 数学 英语 1 刘备 90 94 92 2 关羽 97 53 95 3 张飞 80 87 68 区别如果条件是单一值时,用decode比较简便,如果判断条件比较复杂是用case when实现 (编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
未处理完善
-
无相关信息
最新更新