0

私はmysqlの初心者ですが、多対多のテーブルのクエリを作成しようとしています。

私の現在の構造は次のとおりです。


製品

  • スク
  • 商品名
  • 価格
  • 等..

カテゴリー

  • ID
  • カテゴリー

products_categories

  • product_id (sku 列から)
  • カテゴリ ID

次のクエリを実行するにはどうすればよいですか。

  • カテゴリ内のすべての製品
  • 商品に関連付けられたすべてのカテゴリ
4

1 に答える 1

0

カテゴリ内のすべての製品

select p.product_name 
from products p
join product_categories pc
on p.sku = pc.product_id
join categories c
on c.id = pc.category_id
where c.category like '%CATEGORY_NAME_HERE%';

商品に関連付けられたすべてのカテゴリ

select c.category
from category c
join product_categories pc
on c.category_id = pc.category_id
join product p
on p.sku = pc.product_id
where p.product_name like '%PRODUCT_NAME_HERE%';
于 2013-01-26T23:09:42.460 に答える