私はmysqlの初心者ですが、多対多のテーブルのクエリを作成しようとしています。
私の現在の構造は次のとおりです。
製品
- スク
- 商品名
- 価格
- 等..
カテゴリー
- ID
- カテゴリー
products_categories
- product_id (sku 列から)
- カテゴリ ID
次のクエリを実行するにはどうすればよいですか。
- カテゴリ内のすべての製品
- 商品に関連付けられたすべてのカテゴリ
私はmysqlの初心者ですが、多対多のテーブルのクエリを作成しようとしています。
私の現在の構造は次のとおりです。
次のクエリを実行するにはどうすればよいですか。
カテゴリ内のすべての製品
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%';