Durch Kommas getrennte Werte aus mehreren Zeilen in MySQL abrufen
In diesem Szenario haben Sie zwei Tabellen, DISH und DISH_HAS_DISHES, mit einer Eins -zu-viele-Beziehung. DISH enthält Gerichte, während DISH_HAS_DISHES die Beziehung zwischen Mahlzeiten und Gerichten speichert. Ihr Ziel besteht darin, Daten in einem Format abzurufen, in dem jede Mahlzeit eine durch Kommas getrennte Liste von Gerichts-IDs und Gerichtsnamen enthält.
Um dies zu erreichen, können Sie die GROUP_CONCAT-Funktion von MySQL nutzen. Mit dieser Funktion können Sie Werte aus mehreren Zeilen zu einer einzigen Zeichenfolge verketten, getrennt durch ein angegebenes Trennzeichen. So verwenden Sie es, um Ihre Anforderungen zu erfüllen:
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
In dieser Abfrage:
Die GROUP BY-Klausel gruppiert die Ergebnisse nach Mahlzeit_ID und stellt sicher, dass die durch Kommas getrennten Werte nach jeder Mahlzeit gruppiert werden.
Die Ausgabe dieser Abfrage wird sei eine Tabelle mit drei Spalten:
Dadurch erhalten Sie das gewünschte Ergebnis, bei dem jede Mahlzeit ihre jeweiligen Gerichts-IDs und Namen in einem einzigen, durch Kommas getrennten Namen hat Zeichenfolge.
Das obige ist der detaillierte Inhalt vonWie rufe ich durch Kommas getrennte Gericht-IDs und Namen für jede Mahlzeit in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!