mysql 逗號分隔的id轉為逗號分隔的名稱

2022-07-19 15:27:24 字數 734 閱讀 1308

mysql 的一張表a的某1欄位是用逗號分隔的code,每個code對應在b表的有code和名稱的對應表。

如果用語句檢索出,用逗號分隔的名稱拼接在一起。

select b.engine_number,group_concat(code_name) astran_name

fromt_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

就解決啦!

參考

mysql 逗號分隔查詢

商品表 goods 有學校字段 school ids 學校字段 school ids 中儲存學校表 school 的id,如果商品包含多個學校則多個id使用逗號分隔儲存 查詢sql select g.id,g.school ids,group concat s.locality name from ...

mysql對列值(例逗號分隔的id)進行子查詢

環境用的是mysql5.5,mysql8的沒進行過測試,大家可以試試看先。有兩張表,topic和topic answer,分別是題目和答案。需求是根據題目表查詢對應的答案,這個題目的答案可能有很多個,答案對應的id以逗號分隔方式,儲存在topic中的answer中。網上用的方法有迴圈,拆分字串,bu...

mysql逗號分隔List欄位轉多行

具體的邏輯我還沒整明白,先記上再說,親測可用。select a1.id,a1.job depends from job version history a1 where a1.id in 1655,1656 id job depends 1655 353,3,532 1656 484,5,567se...