oracle 10g 行列转换 通过decode和union all 实现
2012-09-02 19:17
525 查看
行转列例子:
select * from grade
select student ,max(decode(subject,'en',grade,null)) 英语 ,max(decode(subject,'ch',grade,null)) 语文,
max(decode(subject,'ma',grade,null)) 数学 from grade group by student
列转行:
创建测试表
create table test as
select student ,max(decode(subject,'en',grade,null)) 英语 ,max(decode(subject,'ch',grade,null)) 语文,
max(decode(subject,'ma',grade,null)) 数学 from grade group by student
select * from test
select student,'英语' 科目,英语 from test
union all
select student,'语文' 科目,语文 from test
union all
select student,'数学' 科目,数学 from test
select * from grade
select student ,max(decode(subject,'en',grade,null)) 英语 ,max(decode(subject,'ch',grade,null)) 语文,
max(decode(subject,'ma',grade,null)) 数学 from grade group by student
列转行:
创建测试表
create table test as
select student ,max(decode(subject,'en',grade,null)) 英语 ,max(decode(subject,'ch',grade,null)) 语文,
max(decode(subject,'ma',grade,null)) 数学 from grade group by student
select * from test
select student,'英语' 科目,英语 from test
union all
select student,'语文' 科目,语文 from test
union all
select student,'数学' 科目,数学 from test
相关文章推荐
- Oracle 10g 完全参考手册之DECODE实现交叉报表--数据行转换为报表的列
- Oracle 实现多行转换成一行 使用oracle 10g collect函数
- Oracle一个典型行列转换的几种实现方法(转)
- sql 多行列转换( case & union all)
- Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步
- Oracle学习之路-- 案例分析实现行列转换的几种方式
- Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步
- 警示:通过 wmsys.wm_concat 实现行列转换 clob
- Oracle一个典型行列转换的几种实现方法
- Oracle典型行列转换的几种实现方法
- Oracle实现行列转换的方法分析
- Oracle一个典型行列转换的几种实现方法
- Oracle一个典型行列转换的几种实现方法(转)
- Oracle典型行列转换的几种实现方法
- 利用函数实现的oracle行列转换
- Oracle实现行列转换的方法分析
- Oracle实现行列转换的方法分析
- (转)Oracle中实现行列转换的方法
- oracle中通过decode实现行变列的二维表统计展示
- Oracle 10g 特性: 通过备份实现可传输表空间