MySQL:将多行转换为单个逗号分隔行
在 MySQL 数据库中,您可能会遇到这样的情况:将多行压缩为一行,特定列表示为逗号分隔值。这可以通过利用 GROUP_CONCAT 函数来实现,如以下示例场景所示。
示例场景:
考虑两个表:DISH 和 DISH_HAS_DISHES,其中 DISH 保存所有可用的菜肴,DISH_HAS_DISHES 定义 DISH 之间的一对多关系。 DISH 表具有以下结构:
而 DISH_HAS_DISHES 表如下所示:
目标:
我们的目标是将数据转换为每顿饭都有相应行的格式,以逗号分隔值列出其菜肴 ID 和名称。所需的输出是:
解决方案:
为了实现这一点,我们将使用 GROUP_CONCAT 函数以及一些简单的 JOIN 操作:
在此查询中:
通过执行通过此查询,我们将获得所需的输出,其中每一行代表一顿饭、其菜肴 ID 及其相应的菜肴名称,所有这些都表示为逗号分隔值。当处理表格数据和跨多行合并信息时,此技术特别有用。
以上是如何在 MySQL 中将多行合并为单个逗号分隔行?的详细内容。更多信息请关注PHP中文网其他相关文章!