從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中文網其他相關文章!