zoukankan      html  css  js  c++  java
  • 纵表与横表互转实例

    1.纵表转横表:

    纵表结构:Table1

    转换后的横表结构:

    Sql示例代码:

    select username,
    
    sum(case Course when '语文' then Grade else 0 end) as 语文,
    
    sum(case Course when '数学' then Grade else 0 end) as 数学,
    
    sum(case Course when '英语' then Grade else 0 end) as 英语
    
    from Table1
    
    group by username
    

    2、横表转纵表:

         横表结构: TableA
          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 


          SQL示例代码:

         SELECT   姓名,'语文'   AS     科目,语文   AS   成绩   FROM   TableA UNION   ALL 
         SELECT   姓名,'数学'   AS     科目,数学   AS   成绩   FROM   TableA UNION   ALL 
         SELECT   姓名,'英语'   AS     科目,英语   AS   成绩   FROM   TableA ORDER BY 姓名,科目 DESC;
    

    case 变量表达式              --对某个‘变量表达式’进行判断
    when 值                      --当‘变量表达式’是某个‘值’时
    then 返回值表达式            --返回‘返回值表达式’值
    [when...
    then...
    .....]                       --可以进行多次判断
    [else 其他情况返回值表达式]  --不符合所有when后面的就是其他情况了
    end                          --结束


       

  • 相关阅读:
    js导出table到excel,同时兼容FF和IE
    Android 程式开发:(廿一)消息传递 —— 21.3 使用Intent发送短信
    [置顶] 让金融互联网-P2P网贷融资量增长10倍的广告宣传公益活动
    Headroom.js插件用法
    HDU 5289 Assignment(单调队列)
    sh_Spring整合Hibernate
    怎样高速启动Android模拟器(Android Emulator)
    设计模式——介绍与工厂模式(扁平管理模式VS职业经理人模式)
    在c++11中你最惊讶的新feature是什么?
    python的私有化
  • 原文地址:https://www.cnblogs.com/summers/p/3170577.html
Copyright © 2011-2022 走看看