Welcome 微信登录

首页 / 数据库 / MySQL / Oracle中自连接和case when,decode的应用

有表如下: sql@kokooa>select * from test026; ID NAME                 SUBJECT                   SCORE ---------- -------------------- -------------------- ---------- 1 jim                  语文                         88 1 jim                  数学                         84 1 jim                  英语                         90 2 kate                 语文                         86 2 kate                 数学                         76 2 kate                 英语                         96 想得到如下效果: 学生编号 学生姓名   语文 数学 英语 方法: 1.自连接:(这是自连接很典型的用处 应当熟练掌握) sql@kokooa> select a.id,a.name,a.score as "语文",b.score as "数学",c.score as "英语" 2   from test026 a,test026 b,test026 c 3   where a.id=b.id and a.subject="语文" and b.subject="数学" 4   and a.id=c.id and c.subject="英语"; ID NAME                       语文       数学       英语 ---------- -------------------- ---------- ---------- ---------- 1 jim                            88         84         90 2 kate                         86         76         96 2 使用case when sql@kokooa>select id,name, 2 sum(case when subject="语文" then score end) as "语文", 3 sum(case when subject="数学" then score end) as "数学", 4 sum(case when subject="英语" then score end) as "英语" 5   from test026 6 group by id,name 7 / ID NAME                       语文       数学       英语 ---------- -------------------- ---------- ---------- ---------- 1 jim                           88         84         90 2 kate                         86         76         96 3 decode 1 select max(id) as id,name, 2 max(decode(subject,"数学",score)) as "数学", 3 max(decode(subject,"语文",score)) as "语文", 4 max(decode(subject,"英语",score)) as "英语" 5 from test026 6* group by name sql@kokooa>/ ID NAME                       数学       语文       英语 ---------- -------------------- ---------- ---------- ---------- 1 jim                          84         88         90 2 kate                         76         86         96安装Oracle 10g忘记sys密码Oracle tablespace表空间调整相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数