我有下面详细说明的 MySQL 表。我正在尝试选择出现在多个给定过滤器 ID 中的任何产品。
例如
SELECT `product_id` FROM mytable WHERE (`filter_id`='100' AND `filter_id`='132');
我希望看到这个返回“product_id=2”,但我意识到上面的方法不起作用,因为 SQL 正在寻找 eq 100 AND 132 的一行。
我尝试过使用 UNION,但只返回过滤器 100 或 132 中的产品。有人可以引导我走向正确的方向吗?
这是我的表格的示例:
product_id filter_id
------------------------
1 100
2 132
2 100
3 132
3 92
4 92
有人也可以为这个主题建议一个更好的标题吗!
最佳答案
从 mytable m1 中选择 m1.product_id
内连接 mytable m2
在
(m1.filter_id
='100' 和
m2.filter_id
='132' 和
m1.product_id=m2.product_id )
关于mysql - SQL 一次匹配多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17477027/