首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中將多個子行連接成一個父行?

如何在 MySQL 中將多個子行連接成一個父行?

Mary-Kate Olsen
發布: 2024-11-28 07:36:13
原創
678 人瀏覽過

How to Concatenate Multiple Child Rows into a Single Parent Row in MySQL?

在MySQL 中將多個子行連接成一行

使用關聯式資料庫時,通常需要組合來自多個相關的資料行合併為一行。此任務可以使用 MySQL 中的 GROUP_CONCAT 函數來完成。

問題陳述:

考慮兩個表:Ordered_Item 和 Ordered_Options。 Ordered_Item 表格儲存訂購的項目,而 Ordered_Options 表格記錄與每個訂購的項目關聯的選項。目標是建立一個查詢,為每個訂購的商品輸出一行,並將選項作為單獨的列包含在內。

解決方案:

以下查詢組合行使用GROUP_CONCAT 函數從Ordered_Item 和Ordered_Options 表中:

SELECT
  ordered_item.id AS `Id`,
  ordered_item.Item_Name AS `ItemName`,
  GROUP_CONCAT(Ordered_Options.Value) AS `Options`
FROM
  ordered_item
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 |
登入後複製

注意:

注意:為了適應順序中的潛在差異選項,請考慮使用CASE 語句按Option_Number將數值進行排序,然後再使用 GROUP_CONCAT 連接它們。

以上是如何在 MySQL 中將多個子行連接成一個父行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板