网络编程
位置:首页>> 网络编程>> 数据库>> Oracle 数据显示 横表转纵表

Oracle 数据显示 横表转纵表

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

标签:Oracle,横表,纵表

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语句实现,原理同该语句,这里不再过多描述。

0
投稿

猜你喜欢

  • 影响用户访问的最大部分是前端的页面。网站的划分一般为二:前端和后台。我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为
  • 做项目的时候,一位同事导数据的时候,不小心把一个表中的数据全都搞重了,也就是说,这个表里所有的记录都有一条重复的。这个表的数据是千万级的,而
  • 每次在操作数据库的时候最烦的就是根据表单提交的内容写sql语句,特别是字段比较多的时候很麻烦,动不动就容易写错。所以我就写了下面的生成sql
  • 1、善用拖放技术 我们在使用Dreamweaver编辑网页的时候,经常需要插入一些图象什么的,假设要插入的图象很多,按照常规方法来操作就显得
  • <% Function XMLEncode(byVal sText) sText = Replace(sText, "&am
  • 今天在开发一个手机短信通讯录的前端界面时,界面中使用了checkbox,来做为各项的选择控件,但是操作时,除了点差子。由于逻辑需要,需要预先
  •   很早以前就说过,IE8的标准模式已经不再支持滤镜了,不过IE仍然留了一条后路,你可以在CSS中这样写滤镜:-ms-filter
  • 交互设计师主导或发起的项目很难拿到结果——现状这个问题在很多的小公司都不存在。小公司养着、催着设计师,设计师不用去考虑能不能拿到结果,因为你
  • 我们可用下面的代码将服务器端变量转换为客户端的JavaScrit变量:<%@ Language=VBScript 
  • SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦。
  • 毫无疑问,JavaScript 是一种非常灵活的脚本语言,有时候它像一只难以驯服的野马——你受益于它的灵活性的同时,也要时刻提防它变得失去控
  • 要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似
  • meta是html语言head区的一个辅助性标签。几乎所有的网页里,我们可以看到类似下面这段的html代码:<head> <meta&nbs
  • 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
  • photoshop快捷键大全: 工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)相关文章:网页设计软件FrontPag
  • ISNULL     使用指定的替换值替换   NULL。   &nb
  • 给静态网页加密的方法有很多,有的简单有的复杂。前两天看见有人问静态网页加密问题,就写了这个代码思路:加密时:先把用户的密钥A用md5加密为B
  • 在 Web 编辑器领域,CKEditor – 七年的专注,赢取的是王者风范。TinyMCE – 五年前的小家碧玉,如今已成长为大家闺秀。Go
  •  首先这个是7米当时问我一个问题,不过可惜我不知道怎么解决,后来知道解决方法很简单,只是添加了一个margin-top:-1em就
  • 一个不错的二级联动下拉菜单源码,您一定会用得到的。运行代码:<html><head><title>Lis
手机版 网络编程 asp之家 www.aspxhome.com