zoukankan      html  css  js  c++  java
  • mysql——横表竖表相互转换-与横标转竖表关联查询

    一  竖表转横表

    1. 学生表成绩表-竖表

    2. 查询数据

    select * from student;

    3. 想要将数据显示为横表, 即如下形式

    数据显示为横表 sql语句:

    select name as '姓名',
      max(case subject when '语文' then result else 0 end) '语文',
      max(case subject when '数学' then result else 0 end) '数学',
      max(case subject when '英语' then result else 0 end) '英语'
    from student group by name;

    二, 横表变竖表

    1.  创建横表 - 学生成绩表

    2.  查询数据

    select * from student1;

    3. 将横表数据转换为竖表的形式, 即如下形式:

    对应的sql语句:

    select*from
    (
      select 姓名 as Name , '语文' as Subject , 语文 as result from student1
      union all
      select 姓名 as Name , '数学' as Subject , 数学 as result from student1
      union all
      select 姓名 as Name , '物理' as Subject , 物理 as result from student1
    ) t
    order by name;

     三,横表变竖表的-关联查询

    查询出结果的sql:

    SELECT cp.person_name,cm.url from cm_person cp  INNER JOIN  cm_midia cm on cp.id_front_ukid = cm.id
    UNION
    SELECT cp.person_name,cm.url from cm_person cp  INNER JOIN  cm_midia cm on cp.id_back_ukid = cm.id
    UNION
    SELECT cp.person_name,cm.url from cm_person cp  INNER JOIN  cm_midia cm on cp.id_header_ukid = cm.id;

    爱生活,更爱给我带来生活的人
  • 相关阅读:
    MPX
    Centos7 LVM扩充存储空间
    capjoint conversations with Chenweiwen
    STA/LTA方法
    capjoint一些生成文件的解释
    搜索震源机制解
    git学习教程
    SAC处理命令transfer的一些详细介绍
    fastjson学习笔记
    语法检查程序LanguageTool学习和使用笔记
  • 原文地址:https://www.cnblogs.com/chenyq/p/15109495.html
Copyright © 2011-2022 走看看