Problemstellung:
Sie haben zwei Tabellen, „DISH“ und „DISH_HAS_DISHES“, wobei Gerichte mit einer Eins-zu-viele-Abhängigkeit verknüpft sind. Das Ziel besteht darin, Daten aus beiden Tabellen in einem bestimmten Format abzurufen: eine durch Kommas getrennte Liste von Gerichts-IDs und Namen für jede Mahlzeit.
Vorgeschlagene Lösung mit der Funktion GROUP_CONCAT:
MySQL bietet die Funktion GROUP_CONCAT, die die Verkettung mehrerer Zeilen basierend auf einem angegebenen Trennzeichen ermöglicht. Mit dieser Funktion können Sie die gewünschte Ausgabe erzielen:
SELECT m.meal_Id, GROUP_CONCAT(dish_id) dish_ids, GROUP_CONCAT(dish_name) dish_names FROM DISH_HAS_DISHES m JOIN DISH d ON (m.dish_id = d.dish_id) GROUP BY meal_Id
Erklärung:
Diese Abfrage sollte das gewünschte Ausgabeformat erzeugen:
meal_id | dish_ids | dish_names |
---|---|---|
1 | 2,3,4 | dish_2, dish_3, dish_4 |
Das obige ist der detaillierte Inhalt vonWie rufe ich mehrere Zeilen als eine einzelne durch Kommas getrennte Zeile in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!