Oracle实现行转换成列的方法

 更新时间:2016年12月25日 10:34:02   作者:碉堡猫  
这篇文章主要介绍了Oracle实现行转换成列的方法,实例分析了Oracle创建及查询表的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Oracle实现行转换成列的方法。分享给大家供大家参考,具体如下:

把行转成列 把学生表,成绩表,班级表,学科表 合并成一张成绩表效果如下:

创建表

--班级表
create table CLASS
(
 ID    VARCHAR2(5) not null primary key,
 CLASSNAME VARCHAR2(10)
);
--学生表
create table STUDENT
(
 ID   VARCHAR2(10) not null primary key,
 NAME  VARCHAR2(10),
 AGE   NUMBER(3),
 CLASSID VARCHAR2(5)
);
--科目表
create table subject(
id varchar2(10) primary key,
subname varchar2(10)
);
--分数表
 create table score(
 sid varchar2(4),
 subid varchar2(10),
 score number(4,1)
);

查询sql 如下

select s1.name 姓名,
    s1.age 年龄,
    s1.classname 班级,
    score_.sid,
    数学,
    语文,
    物理,
    化学,
    (数学 + 语文 + 物理 + 化学) 总分
 from (select s.sid,
        sum(decode(s.subid, 'SUB001', s.score)) 数学,
        sum(decode(s.subid, 'SUB002', s.score)) 语文,
        sum(decode(s.subid, 'SUB003', s.score)) 物理,
        sum(decode(s.subid,'SUB004',s.score)) 化学
     from score s
     group by s.sid) score_
 right join (select st.id, st.name, st.age, c.classname
        from student st, class c
       where c.id = st.classid) s1 on s1.id = score_.sid
 order by 总分;

更多关于Oracle相关内容感兴趣的读者可查看本站专题:《Oracle常用函数汇总》、《Oracle日期与时间操作技巧总结》及《php+Oracle数据库程序设计技巧总结

希望本文所述对大家Oracle数据库程序设计有所帮助。

相关文章

  • oracle sequence语句重置方介绍

    oracle sequence语句重置方介绍

    在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下
    2012-11-11
  • Oracle控制文件丢失恢复归档模式方法

    Oracle控制文件丢失恢复归档模式方法

    这篇文章主要为大家介绍了Oracle控制文件丢失恢复归档模式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2022-07-07
  • 解决Oracle19c ORA-00904:“WMSYS“.“WM_CONCAT“:标识符无效问题

    解决Oracle19c ORA-00904:“WMSYS“.“WM_CONCAT“:标识符无效问题

    这篇文章主要介绍了解决Oracle19c ORA-00904:“WMSYS“.“WM_CONCAT“:标识符无效问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Oracle事务(transaction)详解

    Oracle事务(transaction)详解

    本文详细讲解了Oracle中的事务(transaction),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • ORCLE 表中列的修改

    ORCLE 表中列的修改

    长时间没写这类语句了,今天一写,就发现自己忘记了很多格式。ORACLE的语法方式一定要注意。
    2009-07-07
  • Oracle 配置连接远程数据库的教程

    Oracle 配置连接远程数据库的教程

    这篇文章主要介绍了Oracle 配置连接远程数据库的教程,即oracle配置tnsnames.ora文件实例,感兴趣的朋友一起看看吧
    2018-03-03
  • Oracle表空间与权限的深入讲解

    Oracle表空间与权限的深入讲解

    Oracle表空间(tablespaces)是一个逻辑的概念,真正存放数据的是数据文件(data files),下面这篇文章主要给大家介绍了关于Oracle表空间与权限的相关资料,需要的朋友可以参考下
    2021-11-11
  • 如何查看数据库alert日志文件

    如何查看数据库alert日志文件

    本文将详细介绍下查看操作系统版本/查看预警日志文件(alert_sid.log)的位置/查看alert中的内容/看看数据库有哪些 可爱的ORA- 错误吧等等,感兴趣的你可以参考下
    2013-03-03
  • linux系统oracle数据库出现ora12505问题的解决方法

    linux系统oracle数据库出现ora12505问题的解决方法

    这篇文章主要介绍了linux系统oracle数据库出现ora12505问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • win x64下安装oracle 12c出现INS-30131报错的解决方法

    win x64下安装oracle 12c出现INS-30131报错的解决方法

    这篇文章主要介绍了win x64下安装oracle 12c出现INS-30131报错的解决方法,感兴趣的小伙伴们可以参考一下
    2016-07-07

最新评论