2

これは非常に簡単なはずなので、今は少し脳がフリーズしています(と思います)。

私は3つのテーブルを持っています:

  • 製品一覧
  • カテゴリ一覧
  • category_map (商品とカテゴリーのリンク)

商品をそのカテゴリ(名前)で一覧表示したい。1 つの製品に複数のカテゴリが含まれる場合があります。

// This query
SELECT a.id, a.name, b.category
FROM sl_link_product_category c
LEFT JOIN sl_product a ON c.fk_productID = a.id
LEFT JOIN sl_category b ON c.fk_categoryID = b.id
WHERE c.fk_categoryID = b.id
ORDER BY a.id
// Gives me this result
| 1 | product 1 | cat 1 |  
| 1 | product 1 | cat 2 |  
| 1 | product 1 | cat 3 |  
| 2 | product 2 | cat 2 |
| 2 | product 2 | cat 4 |

ここで、最終的な結果セットで、各製品がカテゴリの配列を持つ製品の配列が必要です。

私の質問は; 目標を達成するために、PHP で結果セットを操作する必要がありますか? または、MySQL ですべてのカテゴリ (カンマ区切り) を 1 つの変数/列に入れることは可能ですか?

4

1 に答える 1