在MySQL 中將子行合併為一個父行
此處提出的挑戰涉及組合來自兩個表的資料:Ordered_Item和Ordered_Options。目標是為 Ordered_Item 中的每個項目輸出一行,包括 Ordered_Options 中與該項目關聯的所有選項的串聯。
資料庫結構
**Ordered_Item** ID | Item_Name 1 | Pizza 2 | Stromboli **Ordered_Options** Ordered_Item_ID | Option_Number | Value 1 43 Pepperoni 1 44 Extra Cheese 2 44 Extra Cheese
建議的解決方案
提供的查詢嘗試,雖然不是語法正確,演示了使用多個連接的可能方法。但是,使用 GROUP_CONCAT 函數可以實現更有效的解決方案。
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, ordered_options where 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中文網其他相關文章!