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