у меня есть две таблицы: DISH и DISH_HAS_DISHES. Таблица блюд имеет все блюда, а таблица "Dish_has_dishes" имеет отношение один ко многим с таблицей "Блюдо". Т.е. блюдо может иметь несколько блюд. Например,
DISH :
dish_id dish_name
1 dish_1
2 dish_2
3 dish_3
4 dish_4
DISH_HAS_DISHES :
meal_id dish_id
1 2
1 3
1 4
Здесь food_id и dish_id оба являются идентификаторами из таблицы DISH. Теперь мне нужен такой формат:
meal_id dish_ids dish_names
1 2,3,4 dish_2, dish_3, dish_4
Это разделенный запятыми идентификатор блюда и названия для каждого приема пищи. Как это сделать?
Используйте GROUP_CONCAT FUNCTION
http://dev.mysql.com/tech-resources/articles/4.1/grab-bag.html
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