Tengo dos tablas: DISH y DISH_HAS_DISHES. La mesa del plato tiene todos los platos y la mesa "Dish_has_dishes" tiene una relación uno a muchos con la mesa "Dish". Es decir. un plato puede tener múltiples platos. Por ejemploMySQL: Fila múltiple como fila separada por comas
PLATO:
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
Aquí meal_id y dish_id ambos son identificadores de la tabla plato. Ahora quiero un formato como este:
meal_id dish_ids dish_names
1 2,3,4 dish_2, dish_3, dish_4
que está separado por comas Identificación del plato y los nombres de cada comida. ¿Como hacer eso?
Eso es impresionante. Que tú, Micheal, por tu respuesta rápida. Solo una cosa para preguntar, estoy obteniendo la columna "dish_ids" como tipo "BLOB". El descanso es apropiado. ¿Por qué? – Swar
@Swar, debe ser varchar, ¿cuál es la longitud de dish_ids? Consulte también este http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat. Verifique el valor del parámetro group_concat_max_len, de forma predeterminada si la cadena resultante tendrá más de 512 caracteres (valor predeterminado), se devolverá como BLOB –
. Solo son enteros con longitud 11. Probé con solo 4 ids: 6,7,8 y 9 . Aunque con tipo de blob, funciona perfectamente pero solo es una consulta. – Swar