Die Herausforderung, mehrere Zeilen in eine einzelne Zeile mit durch Kommas getrennten Werten in MySQL umzuwandeln, stellt sich häufig beim Umgang mit zusammengehörigen Daten aus mehreren Tabellen. Diese Aufgabe kann mithilfe der leistungsstarken Funktion GROUP_CONCAT elegant gelöst werden.
Um dieses Ziel zu erreichen, betrachten Sie das bereitgestellte Beispiel. Zwei Tabellen, DISH und DISH_HAS_DISHES, stellen eine Eins-zu-viele-Beziehung zwischen Gerichten und Mahlzeiten dar. Die Anforderung besteht darin, ein Format zu erstellen, das Gerichts-IDs und Namen für jede Mahlzeit als durch Kommas getrennte Werte zusammenfasst.
Die Lösung liegt in der Funktion GROUP_CONCAT. Diese Funktion verkettet effektiv Werte eines Ausdrucks für jede Zeilengruppe und erzeugt so eine einzelne Zeichenfolge. In diesem Fall ist der Ausdruck die Kombination der Attribute „dish_id“ und „dish_name“.
Um die Daten zu transformieren, kann eine Abfrage erstellt werden, die die Tabellen DISH_HAS_DISHES und DISH verbindet:
SELECT m.meal_Id, GROUP_CONCAT(dish_id) AS dish_ids, GROUP_CONCAT(dish_name) AS dish_names FROM DISH_HAS_DISHES AS m JOIN DISH AS d ON (m.dish_id = d.dish_id) GROUP BY m.meal_Id;
Die JOIN-Anweisung verknüpft die beiden Tabellen, während GROUP BY Zeilen nach der Spalte „meal_id“ gruppiert. Für jede Mahlzeit aggregiert die Funktion GROUP_CONCAT die Werte „dish_id“ und „dish_name“ in den Spalten „dish_ids“ bzw. „dish_names“, getrennt durch Kommas.
Als Ergebnis erzeugt die Abfrage das gewünschte Format: eine einzelne Zeile für jede Mahlzeit, mit Durch Kommas getrennte Gericht-IDs und -Namen. Die Verwendung der Funktion GROUP_CONCAT löst effizient die Herausforderung, mehrere Zeilen als eine einzelne Zeile mit durch Kommas getrennten Werten in MySQL zu extrahieren. Darüber hinaus kann dieser Ansatz auf verschiedene Datenbankszenarien angewendet werden, wodurch die Möglichkeiten zum Datenabruf und zur Datenbearbeitung verbessert werden.
Das obige ist der detaillierte Inhalt vonWie kann ich GROUP_CONCAT verwenden, um in MySQL mehrere Zeilen in einer einzigen Zeile mit durch Kommas getrennten Werten zu kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!