场景: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