我有一个示例数据
mobile(id, name)
mobile(1, 'Nokia')
mobile(2, 'Samsung')
mobile(3, 'Motorola')
和类别
categories(id, name, mobile_id)
categories(1, 'mobile', '1,2,3')
和mysql:
SELECT cat.name as cat_name, GROUP_CONCAT(mobile.name) as mobile_name
FROM `mobile` as mobile
LEFT OUTER JOIN `categories` AS cat ON cat.mobile_id = mobile.id
如何得到这个结果:
(1,"mobile","Nokia,Samsung,Motorola")
答案 0 :(得分:1)
您应该尝试添加
GROUP cat.name
在您的查询结尾处
答案 1 :(得分:0)
您需要添加GROUP BY cat.id
因为GROUP_CONCAT
是GROUP BY (Aggregate) Function
。
答案 2 :(得分:0)
您应创建一个新表'mobiles_categories',将手机与各自的类别相结合,如下所示:
mobile_category
这样做可以简单地加入类别。