oracle SQL竖表转横表建站知识
导读:1建站知识oracle SQL 实现竖表转横表 T_T_STUDENT表查询记录如下,要转成横表 姓名 课程 成绩 1 张飞 语文 80 2 张飞 数学 87 3 关羽 网站建设多少钱seo网站排名优化软件。
oracle SQL 实现竖表转横表
T_T_STUDENT表查询记录如下,要转成横表
姓名 课程 成绩
1 张飞 语文 80
2 张飞 数学 87
3 关羽 seo网站关键词优化; 语文 97
4 张飞 英语 68
5 关羽 数学 百度seo网站优化 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)网站优化seo培训) 英语
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实现相关网站建设多少钱seo网站排名优化软件。
声明: 本文由我的SEOUC技术文章主页发布于:2023-05-22 ,文章oracle SQL竖表转横表建站知识主要讲述标签,标题,SQL网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_5232.html