• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > Oracle实现行转换成列的方法

Oracle实现行转换成列的方法

作者:碉堡猫 字体:[增加 减小] 来源:互联网 时间:2017-05-11

碉堡猫通过本文主要向大家介绍了oracle多行合并成一行,oracle 删除行,oracle 行转列,oracle 合并行,oracle sql 行转列等相关知识,希望本文的分享对您有所帮助

本文实例讲述了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)
);

</div>

查询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 总分;

</div>

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle实现行转换成列的方法
  • Oracle针对数据库某一行进行操作的时候,如何将这一行加行锁

相关文章

  • 2017-05-11[Oracle] RAC 之 - 负载均衡深入解析
  • 2017-05-11Oracle Table Demo语句应用介绍
  • 2017-05-11浅析新建Oracle数据库的三种方法
  • 2017-05-11ORACLE错误一览表 方便查询
  • 2017-05-11探索ORACLE之ASM概念(完整版)
  • 2017-05-11ip修改后orcale服务无法启动问题解决
  • 2017-05-11oracle数据库下统计专营店的男女数量的语句
  • 2017-05-11windows下oracle 11g r2 安装过程与卸载详细图解
  • 2017-05-11Oracle多表级联更新详解
  • 2017-05-11Oracle用户密码含有特殊字符导致无法登陆解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • ORACLE 常用的SQL语法和数据对象
    • ORACEL使用脚本来修改表结构
    • oracle10g全文索引自动同步语句使用方法
    • Oracle判断指定列是否全部为数字的sql语句
    • 深入ORACLE迁移到MYSQL的总结分析
    • oracle 触发器 实现出入库
    • Oracle数据库中外键的相关操作整理
    • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
    • Oracle如何直接运行OS命令(下)第1/2页
    • PB7 连接 Oracle 的设置方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有