mysql - 从 mysql 中的逗号分隔键创建列表

标签 mysql group-concat

我在 MySQL 中有这样的数据集:

table order
order_id   item_id        
1          A,B,C
2          B,D,E

table item 
item_id    item_name
A          Candy
B          Beer
C          Cookies
D          Jam
E          Cigarette

如何返回这样的数据:

order_id   item_id    item_name
1          A,B,C      Candy,Beer,Cookies
2          B,D,E      Beer,Cookies,Cigarette

最佳答案

您可以尝试以下查询-

SELECT o.order_id, o.item_id, GROUP_CONCAT(itm.item_name) 
FROM `order` AS o JOIN item AS itm ON FIND_IN_SET(itm.item_id,o.item_id) 
GROUP BY o.order_id;

关于mysql - 从 mysql 中的逗号分隔键创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32557536/

相关文章:

mysql - 是什么导致 Hibernate SQL 查询异常?

mysql - 字符串中的字符之间添加了不需要的空格

mysql select查询同一个表的多个group_concat

mysql - 更新查询需要太长时间才能更新mysql中的大量数据

php - 无法显示相同 id 的所有行 - PHP

mysql - 整数列的不合逻辑的 SQL 超出范围值

从 phpmyadmin 导出时 MySql GROUP_CONCAT 失败

mysql - 使用 GROUP_CONCAT 进行 LEFT JOIN 的奇怪结果

mysql - 使用 group_concat 的单个查询中的多个文本字段