当前位置:   article > 正文

mysql中通过FIND_IN_SET函数关联表id包含多个值用逗号分隔,通过sql语句查询关联表信息_根据ids 查多表 名称合并逗号隔开

根据ids 查多表 名称合并逗号隔开

之所以会用到该函数是因为在写将mysql数据使用logstash同步至es上时发现有的表关联id字段是多个id按逗号分隔,因为是用sql语句查询,不能像java中一样先查询A表然后再循环拆分id字段循环查询B表,所以需要用到FIND_IN_SET函数,下边是使用该函数的demo
现在有表A和表B,数据信息如下
在这里插入图片描述
现在需要根据表A的typeIds关联查询到B表的name,sql语句如下

SELECT 
    A.id, A.type_ids typeIds, GROUP_CONCAT(B.`name`) AS typeNames
FROM A
JOIN B ON FIND_IN_SET(B.id,A.type_ids)
GROUP BY A.id
  • 1
  • 2
  • 3
  • 4
  • 5

这样通过关联查询便能获取到相应的类型名称
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/230865
推荐阅读
相关标签
  

闽ICP备14008679号