mysql: convertir plusieurs lignes en une seule ligne séparée par des virgules
dans une base de données MySQL, vous pouvez rencontrer une situation où vous voulez condenser plusieurs lignes. Cela peut être réalisé en utilisant la fonction Group_Concat, comme démontré dans l'exemple de scénario suivant. La table à vaisselle a la structure suivante:
Dish: Dish_id Dish_name 1 Dish_1 2 Dish_2 3 Dish_3 4 Dish_4 tandis que la table Dish_has_Dishes ressemble à ceci:
Dish_has_Dishes: farine_id Dish_id 1 2 1 3 1 4
DISH: dish_id dish_name 1 dish_1 2 dish_2 3 dish_3 4 dish_4Objectif:
DISH_HAS_DISHES: meal_id dish_id 1 2 1 3 1 4
farine_id Dish_ids Dish_Names 1 2,3,4 Dish_2, Dish_3, Dish_4
Solution:
meal_id dish_ids dish_names 1 2,3,4 dish_2, dish_3, dish_4
SELECT M.Meal_id, Group_concat (Dish_id) as Dish_ids, Group_Concat (Dish_name) comme Dish_Names De Dish_Has_Dishes M Rejoignez Dish D sur (M.DISH_ID = D.DISH_ID) GROUP BY MEAL_ID Dans cette requête:
, nous commençons par rejoindre la table Dish_has_Dishes (M) avec la table Dish (D) dans la colonne Dish_ID.
DISH: dish_id dish_name 1 dish_1 2 dish_2 3 dish_3 4 dish_4Colonnes.
Enfin, nous regroupons les résultats par le repas pour obtenir une seule ligne pour chaque repas.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3