
mysql 的一張表A的某1字段是用逗號分隔的code,每個code對應在B表的有code和名稱的對應表。
如果用語句檢索出,用逗號分隔的名稱拼接在一起。
select b.engine_number,GROUP_CONCAT(code_name) as tran_name from t_fix_code a join t_inventory_tmp b ON FIND_IN_SET(a.code,b.engine_number) > 0 group by b.engine_number
注意視自己的業務情況,可以使用 left join
我搞了半天會出現重復的情況,就是code比如明明只有2個90311007,90311008,
但是名稱卻給我拼接處4個出來 名稱1,名稱2,名稱2,名稱1。
研究半天要注意group by b.engine_number
這個字段你可以寫你的主鍵,就不會重啦。
還有同樣的數據一行是
名稱1,名稱2
另外一行卻是
名稱2,名稱1
可以加上
order by a.code
就解決啦!
參考
https://blog.csdn.net/wang1988081309/article/details/72920960?utm_source=blogxgwz6
