MYSQL,表链接下一对多关系的查询 group_concat

使用场景:两张表,人员表,教育经历表,通过表链接,查询一个人的教育经历。如果不使用group_concat的情况下,姓名列的数据会出现重复,如下:

姓名  学校

小虎   第三小学

小虎   初级中学

小虎   上海大学

而实际上,需要达到以下效果

姓名  学校

小虎  第三小学,初级中学,上海大学

这里使用

select temp.user_name as userName, group_concat(temp.school SEPARATOR '<>') as school from (select hub.user_name,hue.school_name from hr_user_basic hub inner join hr_user_edu hue on hub.id =hue.user_id) temp group by temp.user_name

首先通过表链接将人员与教育经历两表相连,作为一个子查询,在以姓名作为分组,然后将所有毕业学校通过group_concat合并为一行,并用SEPARATOR设置分隔符进行分隔,我这边为了明显是用的不等于号进行分隔的,大家可以根据喜好自选。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值