oracle行转列 和 列转行

原创 2012年04月06日 09:16:55

最近在面试的时候碰到这样一个问题有三个表 分别为 学生表(student) 课程表(course) 分数表(score)

学生表

学生Id 学生姓名
1 张三
2 李四

课程表

课程ID 课程名
1 语文
2 数学

分数表

分数 课程ID 学生ID
98 1 1
95 2 1
80 1 2
85 2 2
 把上面三张表显示成
姓名 语文成绩 数学成绩
张三 98 95
李四 80 85

运用子查询

select  student.stuent_id ,(select score from score where score.stuent_id = s1.student_id and score.course.course_id = 1),,(select score from score where score.stuent_id = s1.student_id and score.course.course_id = 2)  From student  s1

行转列

select  s1.name min(decode(score.course_id ,1,score)),min(decode(score.course_id ,2,score)) FROM STUENT ,SCORE WHERE STUDENT.STUDENT_ID = SCORE.STUDENT_ID GROUP BY NAME

至于列转行的方法就是用

 

 

Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

Oracle 行转列、列转行 的Sql语句总结
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2015年01月05日 16:39
  • 35990

oracle 行转列 列转行

1.概述 最近论坛很多人提的问题都与行列转换有关系,所以我对行列转换的相关知识做了一个总结,希望对大家有所帮助,同时有何错疏,恳请大家指出,我也是在写作过程中学习,算是一起和大家学习吧! 行列转换...
  • lfc453048573
  • lfc453048573
  • 2013年11月04日 22:07
  • 1121

oracle行转列、列转行

一、行转列 需要将如下格式 转换为:   这就是最常见的行转列,主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的   create table t...
  • itmyhome
  • itmyhome
  • 2013年05月11日 22:56
  • 4426

oracle行转列_列转行

  • 2012年11月09日 15:11
  • 70KB
  • 下载

Oracle行转列、列转行的Sql语句总结

Oracle行转列、列转行的Sql语句总结 多行转字符串 这个比较简单,用||或concat函数可以实现  SQL Code  1 2 ...
  • qq1353424111
  • qq1353424111
  • 2016年11月28日 17:32
  • 250

oracle 行转列 与列转行

1 列转行 select a.xn,a.xm,a.zydm,a.xh,a.sfbz,a.sfxmdm,b.sfxmmc from ( select xn,xm,zydm,xh,sfxm01 sfbz,...
  • wanghailin1984
  • wanghailin1984
  • 2013年09月27日 08:55
  • 751

oracle行转列、列转行

一、行转列 需要将如下格式 转换为:   这就是最常见的行转列,主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的   create table t...
  • itmyhome
  • itmyhome
  • 2013年05月11日 22:56
  • 4426

Oracle行转列、列转行的Sql语句总结

Oracle行转列、列转行的Sql语句总结http://www.2cto.com/database/201501/367164.html 2015-01-06      0 个评论    来源:...
  • qq_36276335
  • qq_36276335
  • 2016年12月15日 11:27
  • 581

[面试][oracle] 数据库 行转列 列转行详解

[一]、行转列   1.1、初始测试数据   表结构:TEST_TB_GRADE   create table TEST_TB_GRADE    ( ...
  • wfh6732
  • wfh6732
  • 2017年03月06日 00:53
  • 110

Oracle行转列和列转行

先介绍两个函数,decode和union DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序...
  • u013223565
  • u013223565
  • 2015年10月12日 15:21
  • 242
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle行转列 和 列转行
举报原因:
原因补充:

(最多只允许输入30个字)