0

サンプルデータがあります

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")
4

3 に答える 3

1

追加してみてください

GROUP cat.name

クエリの最後に

于 2012-06-18T07:54:47.007 に答える
0

は であるGROUP BY cat.id ため、追加する必要があります。GROUP_CONCATGROUP BY (Aggregate) Function

于 2012-06-18T07:55:26.330 に答える
0

次のように、モバイルをそれぞれのカテゴリに結合する新しいテーブル「mobiles_categories」を作成する必要があります。

mobile_category

  • id_category - id_mobile
  • 1 - 1
  • 1 - 2
  • 1 - 3
  • 2 - 1
  • 2 - 2

これを行うと、カテゴリに簡単に参加できます。

于 2012-06-18T07:55:36.690 に答える