mysql 逗号分隔的id转为逗号分隔的名称

 

 

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

posted @ 2020-01-09 14:20  阿米诚  阅读(1414)  评论(1编辑  收藏  举报