【mysql】 GROUP_CONCAT与FIND_IN_SET

场景:

现在有两个表

表a中
aid 主管领导
1 1,2,3
2 2,4

表b中
bid 姓名
1 李一
2 刘二
3 张三
4 李四

怎么联合查询出
序号 主管领导 主管领导姓名
1 1,2,3 李一,刘二,张三
2 2,4 刘二,李四

解决:

SELECT 
   a.aid AS '序号', 
   a.`主管领导`, 
   GROUP_CONCAT(b.`姓名`) AS `主管领导姓名` 
FROM 
  a 
  LEFT JOIN b on FIND_IN_SET(b.id , a.`主管领导`)
GROUP BY a.aid
 

欢迎关注公众号:

【mysql】 GROUP_CONCAT与FIND_IN_SET