Tina's blog
开心过好每一天! Come on !
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 
--------------------------------------------------------------------- 
posted on 2008-07-17 10:56  Tinachang  阅读(407)  评论(0编辑  收藏  举报