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
相關文章
相關標籤/搜索