列转行-行列转换
来源:互联网 发布:身份证阅读器破解软件 编辑:程序博客网 时间:2024/05/16 23:37
有多种实现方式:
wmsys.wm_concat函数
也可以用decode函数实现.
11g可以 使用pivot
存储过程实现
eg:
我现在的表如下:
产品名称 销售额 季度
奶酪 50 第一季度
奶酪 60 第二季度
啤酒 50 第二季度
啤酒 80 第四季度
。。。
。。。
想转换成如下格式
产品名称 第一季度销售额 第二季度销售额 第三季度销售额 第四季度销售额
奶酪 50 60 0 0
啤酒 0 50 0 80
答案:
01.最佳答案oracle下可以用函数decode处理:
02.
03.select 产品名称,
04.sum(decode(季度,'第一季度',销售额,0)) 第一季度销售额,
05.sum(decode(季度,'第二季度',销售额,0)) 第二季度销售额,
06.sum(decode(季度,'第三季度',销售额,0)) 第三季度销售额,
07.sum(decode(季度,'第四季度',销售额,0)) 第四季度销售额,
08.from 表名
09.group by 产品名称;
或者:
select 产品名称, wmsys.wm_concat(第一季度销售额),wmsys.wm_concat(第二季度销售额),wmsys.wm_concat(第三季度销售额),wmsys.wm_concat(第四季度销售额) from test group by 产品名称
其他方式大家自己去研究.
下次会谈一下行转列的问题.
- 列转行-行列转换
- 行列转换(列转行)
- SQL 列转行问题。普通行列转换。
- sql 行专列 列转行 普通行列转换
- sql 行专列 列转行 普通行列转换
- sql 行专列 列转行 普通行列转换
- oracle中的行列转换(一 列转行 pivot)
- SQL中PIVOT 行列转换;UNPIVOT列转行
- SQL Server 2005之PIVOT/UNPIVOT行列转换(行转列、列转行)
- 行列转行
- ORACLE不定列行列转换(ZT)
- 行列转换之列不固定
- oracle固定列的行列转换
- oracle SQL 固定列 行列转换
- 用存储过程,实列列表的列转行转换
- 关于 行列相互转行
- 列转行
- 列转行
- Tables with CSS
- 循环获取控件
- Linux内核编译选项-5
- ZendFrameWork 笔记——入口文件
- 全新起航:Tizen能否四分移动操作系统的天下
- 列转行-行列转换
- iBATIS高级查询技术详解
- 简单地快速存储和读取的数据结构
- Linux 字体微调 - windows 效果版
- 再谈在Java中使用枚举
- Hive 随谈(二)– Hive 结构
- Calendar类常用
- Windows Phone实用开发技巧(38):图片拼接
- 深入理解O/R Mapping