从 MySQL 中的多行检索逗号分隔值
在此场景中,您有两个表:DISH 和 DISH_HAS_DISHES,其中一个表一对多关系。 DISH包含菜品,而DISH_HAS_DISHES存储的是餐食和菜品之间的关系。您的目标是以每顿饭都有一个以逗号分隔的菜肴 ID 和菜肴名称列表的格式检索数据。
要实现此目标,您可以利用 MySQL 的 GROUP_CONCAT 函数。此函数允许您将多行中的值连接成单个字符串,并用指定的分隔符分隔。以下是如何使用它来满足您的要求:
SELECT m.meal_Id, GROUP_CONCAT(dish_id) AS dish_ids, GROUP_CONCAT(dish_name) AS dish_names FROM DISH_HAS_DISHES m JOIN DISH d ON (m.dish_id = d.dish_id) GROUP BY meal_Id
在此查询中:
GROUP BY 子句按 Meal_Id 对结果进行分组,确保逗号分隔的值根据每顿饭进行分组。
此查询的输出将是一个包含三列的表格:
这将为您提供所需的结果,其中每顿饭都有各自的菜肴 ID 和名称,以单个逗号分隔字符串。
以上是如何在 MySQL 中检索每顿饭的逗号分隔的菜肴 ID 和名称?的详细内容。更多信息请关注PHP中文网其他相关文章!