首页 > 解决方案 > 在 MYSQL 中使用矩阵字段左连接

问题描述

我在一个表中有一个字段需要与另一个表相关,但里面的值是逗号分隔的,并且需要将它们中的每一个与它们在 table_b 上的名称相关联

参考表

table_a
cod_item | Order
1,2,3    | 1
2,4,5    | 2
2        | 3
5,6,7    | 1

第二张表:

table_b
cod_item | Name
1        | prod_1
2        | prod_2
3        | prod_3
4        | prod_4 ...

需要的结果是:

ORDER | CONTENT
1     | 1 - prod_1, 2 - prod_2, 3 - prod_3
2     | 2 - prod_2, 4 - prod_4, 5 - prod_5

等等..或类似的东西..我只是失去了如何做这个参考......表格非常非常大......

谢谢!!

标签: mysqlsql

解决方案


SQLFiddle 已关闭,因此我无法测试,但我认为您GROUP_CONCAT可以CONCATJOIN.

SELECT a.order, CONCAT(b.cod_item, ' - ', GROUP_CONCAT(b.name)) CONTENT
FROM table_a a
INNER JOIN table_b b ON a.cod_item LIKE CONCAT('%', b.cod_item, '%')

推荐阅读