创建mysql多对多查询

时间:2013-01-26 23:00:35

标签: mysql sql phpmyadmin

好的我是mysql的初学者,但我一直在尝试为多对多的表创建一个查询。

我的结构是:


产品

  • SKU
  • PRODUCT_NAME
  • 等。

分类

  • ID
  • 类别

products_categories

  • product_id(来自sku专栏)
  • CATEGORY_ID

如何查询以下内容:

  • 类别中的所有产品
  • 与产品相关的所有类别

1 个答案:

答案 0 :(得分: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%';