当前位置:   article > 正文

mysql 一对多查询 合并为一行数据_mysql 一对多,筛选成一行

mysql 一对多,筛选成一行

用户包含多个角色

执行:    

SELECT ur.user_id,u.name user_name,u.mail,ur.role_id,r.name role_name
    FROM tb_user_role ur
    LEFT JOIN tb_user u ON u.id=ur.user_id 
    LEFT JOIN tb_role r ON r.id=ur.role_id
    WHERE u.is_delete=0
    ORDER BY ur.user_id asc;

 一个用户含有2个角色

使用GROUP_CONCAT返回带有来自一个组的连接的非NULL值的字符串结果,GROUP_CONCAT(expr)默认分隔符是“,” 。DISTINCT去重

执行:

SELECT ur.user_id,u.name user_name,u.mail,
    GROUP_CONCAT(DISTINCT ur.role_id) role_id,
    GROUP_CONCAT(DISTINCT r.name) role_name
FROM tb_user_role ur
LEFT JOIN tb_user u ON u.id=ur.user_id 
LEFT JOIN tb_role r ON r.id=ur.role_id 
WHERE u.is_delete=0
GROUP BY ur.user_id ORDER BY ur.user_id asc;

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/938660
推荐阅读
相关标签
  

闽ICP备14008679号