mysql - SQL 一次匹配多个查询

标签 mysql opencart

我有下面详细说明的 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/

相关文章:

.htaccess 301 http ://redirect to https://not being indexed by Google

codeigniter - 在 opencart 中加载和使用模型

php - 如何反转此 mysql 表或其表示的顺序?

python - 无法解析模板中的剩余部分

mysql - 将信息从一个网站安全地传递到另一个网站

mysql - Microsoft SQL 与 mySQL 的连接

php - OpenCart 安装中出现空白屏幕

php - 无法覆盖 laravel 5.4 登录身份验证中的默认字段名称

MySQL自连接以获得过去的平均值

php - paypal 快速结帐后缺少 session 数据