oracle 中decode函数

本文介绍了如何使用SQL中的decode函数来横向扩展数据记录,并通过示例展示了如何利用该函数为不同类别创建特定的列。此外,还解释了max函数如何实现纵向压缩数据,即减少记录数目,将瘦长的数据集转换为扁平矩阵形式。
decode()只能创建新的列(横向扩展),而max()函数是在减少相同分类行(纵向压缩),从而将原来瘦长的数据库记录集转换为相对扁平的矩阵式记录集。
   减少记录数目的方法可能只有四种:where,minus,归组,distinct :记住是在oracle存在的对应在sql中只能写select case end....

Select cp 产品,decode(lb,'甲',sl,Null) 甲数量,decode(lb,'甲',je,Null) 甲金额,  
               decode(lb,'乙',sl,Null) 乙数量,decode(lb,'乙',je,Null) 乙金额, 
               decode(lb,'丙',sl,Null) 甲数量,decode(lb,'丙',je,Null) 丙金额, 
               decode(lb,'丁',sl,Null) 甲数量,decode(lb,'丁',je,Null) 丁金额 
       From aaa; 
--------------------------------------------------------------------- 
产品        甲数量     甲金额     乙数量     乙金额     甲数量     丙金额     甲数量     丁金额 
------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 
产品A            1          2                                                         
产品B            2          3                                                         
产品C            3          4                                                         
产品D            1          4                                                         
产品A                                  2          6                                   
产品C                                  3          6                                   
产品E                                  4          5                                   
产品A                                                        5          4             
产品D                                                        6          4             
产品B                                                                              1          3 
--------------------------------------------------------------------- 

转载于:https://www.cnblogs.com/tinachang021/archive/2008/07/17/1245027.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值