Oracle使用decode实现行转列
2015-06-09 15:38
351 查看
HIS开发中,在各种统计时经常会用到行转列,下面简单记录一下使用decode实现行转列
表:
要实现效果:
详细实现语句如下:
select
住院号,
sum(decode(费用分类,'西药费',费用,0)) 西药费,
sum(decode(费用分类,'中药费',费用,0)) 中药费,
sum(decode(费用分类,'检查费',费用,0)) 检查费
from 费用表
group by 住院号
表:
住院号 | 费用 | 费用分类 |
001 | 10.00 | 西药费 |
001 | 20.00 | 中药费 |
001 | 30.00 | 西药费 |
002 | 10.00 | 检查费 |
002 | 20.00 | 西药费 |
住院号 | 西药费 | 中药费 | 检查费 |
001 | 40.00 | 20.00 | 0 |
002 | 20.00 | 0 | 10.00 |
select
住院号,
sum(decode(费用分类,'西药费',费用,0)) 西药费,
sum(decode(费用分类,'中药费',费用,0)) 中药费,
sum(decode(费用分类,'检查费',费用,0)) 检查费
from 费用表
group by 住院号
相关文章推荐
- 降低磁盘IO使Oracle性能优化(转)
- Oracle 基础语法
- Oracle数据库之创建表空间与用户
- oracle 创建外部表实例及常用语句解释
- Oracle函数-计算时间跨度
- Oracle计算时间跨度的函数
- 有关Oracle cvu和cvuqdisk
- Oracle优化配置指南
- oracle11g分区表
- Oracle 工艺结构
- Oracle11g数据库安装
- oracle优化(一) oracle数据库使用 TIMESTAMP(6)类型保存年月日时分秒
- Oracle Java JDBC: Get Primary Key Of Inserted Record
- Oracle中REGEXP_SUBSTR函数
- oracle 客户端 plsql 无法使用like查询,无法查询中文,乱码
- 不安装Oracle客户端使用PLSQL
- oracle模糊查询语句使用示例
- Oracle 11g安装攻略
- Oracle 检查表的数据变动
- 【转】oracle建立本地数据库