【发布时间】:2016-08-12 14:44:51
【问题描述】:
我有以下标准的多对多关系: http://sqlfiddle.com/#!9/43bd68/28/0
(简化版) - 我有产品 1,它有类别 1、2、3 和产品 2,它有类别 1、3。
我想要实现的是选择属于特定类别组合的产品。
举例说明:
- 获取属于类别(1 或 2)和属于类别 (3) 的产品。这应该返回产品 1 和 2
- 获取属于类别 (2) 和属于类别 (3) 的产品。这应该只返回产品 1
类别应该表现得像“过滤器”——这就是为什么我最初的想法是设置WHERE category IN (1, 2) AND category IN (3),但这不起作用,因为类别是一行的单个值。我想我需要类似“foreach 产品,然后在产品内部检查它是否具有类别(1 或 2)和类别(3)”。
是否可以通过 SQL 查询来实现这一点?
【问题讨论】:
标签: mysql sql many-to-many