Oracle 数据显示 横表转纵表

来源:asp之家 时间:2009-07-26 08:57:00 

1.建表

代码如下:


-- Create table
create table test
(
dm1 char(3),
dm2 char(3),
mc1 nvarchar2(20),
val nvarchar2(20)
)


2.填入数据如下:

DM1DM2MC1VAL1011c11001011c2801011c3401012c1301012c2801024c191026c250

转换后数据显示如下:

DM1DM2c1c2c31011100804010123080 10249 1026 50

3.转换语句:

代码如下:


select dm1,dm2,sum(decode(mc1,'c1',val)) c1,sum(decode(mc1,'c2',val)) c2,sum(decode(mc1,'c3',val)) c3
from test
group by dm1,dm2


注:该语句是在val为数值的情况下的执行方法,如果val不为数值型,或者包含字符串等类型的话,运用sum会报错,这里可以采用另外一个方法,将sum改为max即可,语句如下:

代码如下:


select dm1,dm2,max(decode(mc1,'c1',val)) c1,max(decode(mc1,'c2',val)) c2,max(decode(mc1,'c3',val)) c3
from test
group by dm1,dm2


此外,横表转纵表亦可用与decode意义相似的case语句实现,原理同该语句,这里不再过多描述。

标签:Oracle,横表,纵表
0
投稿

猜你喜欢

  • 修复 jQuery 中 isFunction 方法的 BUG

    2010-01-25 12:05:00
  • 保护你的ASP页面的两种办法

    2008-06-10 16:53:00
  • SQL Server 1069错误(由于登录失败而无法启动服务)解决方法

    2008-09-12 17:35:00
  • 全局于网站整体的网页设计

    2009-03-27 17:15:00
  • Python 图像处理 Pillow 库详情

    2022-12-05 04:46:12
  • jQuery中$.ajax的实现解析

    2008-07-20 13:11:00
  • mysql 如何使用JSON_EXTRACT() 取json值

    2024-01-16 04:26:46
  • 简单讲解Python编程中namedtuple类的用法

    2022-05-30 23:32:18
  • Python3中安装后SSL问题及解决

    2022-07-04 14:41:16
  • 使用pymysql写入中文的问题

    2024-01-12 22:44:49
  • ASP生成XML文件

    2009-06-29 16:28:00
  • java如何使用正则表达式限制特殊字符的个数

    2023-07-25 08:53:50
  • 查看 MySQL 已经运行多长时间的方法

    2024-01-14 09:57:05
  • Perl中的10个操作日期和时间的CPAN模块介绍

    2023-07-27 10:04:41
  • php部分常见问题总结

    2023-07-02 17:10:41
  • pycharm激活码2020最新分享适用pycharm2020最新版亲测可用

    2021-09-21 11:11:33
  • 通过SQL绘制杨辉三角的实现方法介绍

    2024-01-27 04:08:49
  • python中的文件打开与关闭操作命令介绍

    2021-07-05 10:15:39
  • Python实现Excel自动分组合并单元格

    2021-11-06 03:03:41
  • 在python 中实现运行多条shell命令

    2023-07-30 10:40:11
  • asp之家 网络编程 m.aspxhome.com