Php 使用组_CONCAT时出错?

Php 使用组_CONCAT时出错?,php,mysql,Php,Mysql,我有一个样本数据 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`

我有一个样本数据

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")
你应该尝试添加

GROUP cat.name

在查询结束时

您需要添加
按类别id分组

由于
GROUP\u CONCAT
是一个
GROUP BY(Aggregate)函数

您应该创建一个新的表“mobiles\u categories”,将手机与各自的类别相耦合,如下所示:

mobile\u类别

  • id_类别-id_手机
  • 1-1
  • 1-2
  • 1-3
  • 2-1
  • 2-2
这样做,你可以简单地加入类别