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