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;

    爱生活,更爱给我带来生活的人
  • 相关阅读:
    ORBSLAM2的资源
    工程思想
    Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH和ROS_PACKAGE_PATH
    CMkeList文件编写
    SLAM资料
    windows下隐藏文件夹
    Ubuntu16装Flash
    知识管理
    学习纲领
    lsof详解
  • 原文地址:https://www.cnblogs.com/chenyq/p/15109495.html
Copyright © 2011-2022 走看看