MySQL中关于,分割的id获取对应名字的SQL

场景:sql

merchant_info表中area_ids字段中存储中以 , 分割的id,该id为sys_area表中的id测试

目的:code

一条SQL语句查出对应sys_area表中对应的名字,一样以 , 分割class

直接上代码:im

SELECT t1.*, GROUP_CONCAT(t2.area_name)
FROM merchant_info t1, sys_area t2
WHERE FIND_IN_SET(t2.id, t1.area_ids) > 0

使用FIND_IN_SET查询出对应的名字数据

结果:查询

数据为虚拟数据,用做测试img

 

--------------------------------------- 华丽的分割线 -----------------------------------------------------ant

上面的语句适用于id必定存在的状况,如字段未填写,则会无数据,须要改为LEFT JOIN形式co

SELECT t1.*, GROUP_CONCAT(t2.area_name)
FROM merchant_info t1
LEFT JOIN sys_area t2 ON FIND_IN_SET(t2.id, t1.area_ids) > 0 
GROUP BY t1.id
相关文章
相关标签/搜索