问题:
将表中的多个子行组合成一个表另一个表中的单行是数据库管理中的常见任务。考虑以下场景:
所需的输出是一个将项目名称与其相应的名称组合在一起的表格选项按特定顺序排列,即使 Ordered_Options 表中的顺序不同。
解决方案:
此任务的一种有效方法是使用 MySQL 的 GROUP_CONCAT 函数。此函数可以将多行中的值串联成单个字符串。
以下查询演示了 GROUP_CONCAT 的用法:
SELECT Ordered_Item.ID AS `Id`, Ordered_Item.Item_Name AS `ItemName`, GROUP_CONCAT(Ordered_Options.Value) AS `Options` FROM Ordered_Item INNER JOIN Ordered_Options ON Ordered_Item.ID = Ordered_Options.Ordered_Item_ID GROUP BY Ordered_Item.ID
输出:
此查询将返回一个包含以下内容的表列:
Id | ItemName | Options |
---|---|---|
1 | Pizza | Pepperoni, Extra Cheese |
2 | Stromboli | Extra Cheese |
选项列按所需顺序合并每个项目的选项。
其他注意事项:
以上是如何使用 GROUP_CONCAT 在 MySQL 中将多个子行合并为一行?的详细内容。更多信息请关注PHP中文网其他相关文章!