zoukankan      html  css  js  c++  java
  • 一对多查询转行为列

    问题:为什么要转行为列?

    回答:MyBatis查询一对多数据展示分页时,ResultMapper配置使用一对多集合标签(<conllection></collection>)会影响分页

    使用WM_CONCAT()函数,转行为列查询

    示例如下:

    0.页面展示

    1.模型表数据

    SELECT t.I FROM Score_Model t WHERE t.id = 553;

    2.模型角色关联表数据

    SELECT * FROM SCORE_Model_Rule t2 WHERE t2.model_id = 553;

    3.角色表数据

    SELECT t3.id,t3.role_name FROM Sys_Auth_Role t3 WHERE t3.id IN (41,47,49,67);

     

    4.一对多查询

    SELECT t1.id,t2.name,t3.id,t3.role_name FROM Score_Model t1

    LEFT JOIN Score_Model_Rule t2 ON t1.id = t2.model_id

    LEFT JOIN Sys_Auth_Role t3 ON t3.id = t2.role_id

    WHERE t1.id = 553

    5.一对多转行为列查询(其他的列都要在group by字句中)

    SELECT t1.id,t2.name,wm_concat(t3.id),wm_concat(t3.role_name) FROM Score_Model t1

    LEFT JOIN Score_Model_Rule t2 ON t1.id = t2.model_id

    LEFT JOIN Sys_Auth_Role t3 ON t3.id = t2.role_id

    WHERE t1.id = 553

    GROUP BY t1.id,t1.name

  • 相关阅读:
    淘宝网站
    CentOS 安装 gcc
    待整理
    待整理
    CentOS常用查看系统命令
    Oracle 分区字段数据更新
    MapReduce修改输出的文件名
    MapReduce分区的使用(Partition)
    使用JobControl控制MapReduce任务
    Centos安装ntfs
  • 原文地址:https://www.cnblogs.com/jason2018524/p/10833554.html
Copyright © 2011-2022 走看看