mysql - 在 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
等等..或类似的东西..我只是失去了如何做这个参考......表格非常非常大......
谢谢!!
解决方案
SQLFiddle 已关闭,因此我无法测试,但我认为您GROUP_CONCAT
可以CONCAT
在JOIN
.
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, '%')
推荐阅读
- r - 自 R 中的列向量中的值发生更改以来,如何计算有多少行?
- html - 宽度为 100% 元素的文本溢出省略号实现
- c# - 如何在unity3D中销毁游戏对象但具有粒子效果?
- javascript - 上传多个文件:Angular
- python-3.x - pyinstaller 更改文件路径的值
- kotlin - 我们如何评估由 Kotlin 中的字符串表示的布尔表达式?
- angular - 如何在 Angular 中重用具有少量附加功能的组件
- sql - Oracle SQL 中的嵌套 IF
- jmeter - 如何摆脱错误“类型变量声明:方法调用错误:找不到方法 getCookieManager() ..”
- sql - 有没有办法在火花中创建所有列的列表