当前位置:Gxlcms > 数据库问题 > Oracle 中 流程控制函数 decode用法

Oracle 中 流程控制函数 decode用法

时间:2021-07-01 10:21:17 帮助过:11人阅读

10 员工 zhongcan 20 员工 wancan 5

转换后的表结构:

  FNAME     ZAOCAN_VALUE          ZHONGCAN_VALUE       WANCAN_VALUE   

   员工           10                     20                    5  

   

1 --纵表转横表SQL示例:   
2   SELECT FNAME,   
3        SUM(DECODE(FTYPE,zaocan,FVALUE,0)) AS ZAOCAN_VALUE,   
4        SUM(DECODE(FTYPE,zhongcan,FVALUE,0)) AS ZHONGCAN_VALUE,   
5        SUM(DECODE(FTYPE,wancan,FVALUE,0)) AS WANCAN_VALUE   
6   FROM TEST_Z2H   
7   GROUP BY FNAME; 

        b. 横表纵表

横表结构: TEST_H2Z   
      ID      姓名     语文       数学        英语         
      1       张三     80         90         70               
      2       李四     90         85         95             
      3       王五     88         75         90             
    
转换后的表结构:     
      ID      姓名     科目     成绩     
      1       张三     语文     80     
      2       张三     数学     90     
      3       张三     英语     70     
      4       李四     语文     90     
      5       李四     数学     80       
      6       李四     英语     99     
      7       王五     语文     85     
      8       王五     数学     96     
      9       王五     英语     88   
1 --横表转纵表SQL示例:   
2 SELECT   姓名,语文   AS     科目,语文   AS   成绩   FROM   TEST_H2Z   UNION   ALL    
3 SELECT   姓名,数学   AS     科目,数学   AS   成绩   FROM   TEST_H2Z   UNION   ALL    
4 SELECT   姓名,英语   AS     科目,英语   AS   成绩   FROM   TEST_H2Z   
5 ORDER BY 姓名,科目 DESC;  

 

Oracle 中 流程控制函数 decode用法

标签:方法   图结构   reference   介绍   会话   number   sign   strong   逻辑   

人气教程排行