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

    1.纵表转横表:

    纵表结构:Table1

    转换后的横表结构:

    Sql示例代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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示例代码:

    1
    2
    3
    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                          --结束

  • 相关阅读:
    GZDBHelper C#.NET开源的数据库访问组件
    判断页面是否是静态页面
    Web应用程序dll获取当前程序集路径问题
    webAPI 上传文件
    解决.Net Core3.0 修改cshtml代码之后必须重新生成才可以看到效果
    .net core使用LESS
    test
    JS实现线程锁(Promise),NodeJS并发锁处理
    参考护照编码实现算法JS生成带字母有序编码
    centos7防火墙开放端口与关闭防火墙
  • 原文地址:https://www.cnblogs.com/yachao1120/p/8516788.html
Copyright © 2011-2022 走看看