zoukankan      html  css  js  c++  java
  • SQL横表、纵表转换

    横表结构

    create table Table_B
    (
        姓名 varchar(20),
        语文 int,
        数学 int,
        英语 int
    )
    insert into Table_B(姓名,语文,数学,英语) values('张三',60,70,80)
    insert into Table_B(姓名,语文,数学,英语) values('李四',90,100,0)
    

    纵表结构

    create table Table_A
    (
        姓名 varchar(20),
        课程 varchar(20),
        成绩 int
    )
    insert into Table_A(姓名,课程,成绩) values('张三','语文',60)
    insert into Table_A(姓名,课程,成绩) values('张三','数学',70)
    insert into Table_A(姓名,课程,成绩) values('张三','英语',80)
    insert into Table_A(姓名,课程,成绩) values('李四','语文',90)
    insert into Table_A(姓名,课程,成绩) values('李四','数学',100)
    

    横表转纵表

    select 姓名,'语文' as 课程,语文 as 成绩 from Table_B union all
    select 姓名,'数学' as 课程,数学 as 成绩 from Table_B union all
    select 姓名,'英语' as 课程,英语 as 成绩 from Table_B
    order by 姓名,课程 desc;
    

    纵表转横表

    
    select 姓名,
    sum (case 课程 when '语文' then 成绩 else 0 end) as 语文,
    sum (case 课程 when '数学' then 成绩 else 0 end) as 数学,
    sum (case 课程 when '英语' then 成绩 else 0 end) as 英语
    from Table_A
    group by 姓名;
    
  • 相关阅读:
    CSS布局之盒子模型[二]
    CSS布局之盒子模型[一]
    CSS文本相关之垂直排列[5]
    网站迁移之后,中文路径都变成乱码
    Linux中shell搜索多文件中的字符串
    mysql数据库报错
    使用Flarum轻松搭建自己的论坛
    CSS雪碧图-html优化
    CSS-定位模式
    ul当做div标签的使用
  • 原文地址:https://www.cnblogs.com/yinchh/p/10929710.html
Copyright © 2011-2022 走看看