25
我有兩個表:DISH和DISH_HAS_DISHES。菜桌上有所有的菜餚,「Dish_has_dishes」桌子與「菜」桌子有一對多的關係。即一道菜可以有多個菜。例如MySQL:多行作爲逗號分隔單行
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
這裏meal_id和dish_id兩者都是從DISH表ID。現在我想要一個這樣的格式:
meal_id dish_ids dish_names
1 2,3,4 dish_2, dish_3, dish_4
這是用逗號分隔的每道菜的ID和名稱。怎麼做?
那真棒。比你快速回復Micheal。只需要問一個問題,我將「dish_ids」列作爲「BLOB」類型。休息是正確的。爲什麼? – Swar 2010-08-16 11:31:17
@Swar,應該是varchar,dish_ids的長度是多少?另請參閱http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat。檢查參數group_concat_max_len的值,默認情況下,如果結果字符串將超過512個字符(默認值),它將作爲BLOB返回 – 2010-08-16 12:13:46
它們只是長度爲11的整數。我僅用4個id - 6,7,8和9進行了測試。雖然blob類型,它的工作完美,但只是一個查詢。 – Swar 2010-08-16 12:17:22