php - 匹配到单行

标签 php mysql sql opencart

enter image description here

有一个分配给产品的过滤器 ID 列表。 可以将多个过滤器分配给同一产品。 所以我正在寻找查询来获取产品 id(如果根据传递的过滤器 id)

例如我有

$filter_id = Array
(
    [0] => 2
    [1] => 12
    ...
 )

在这种情况下,它应该返回产品 id 40 我需要匹配所有过滤器 id 才能获取特定产品,所以我使用 AND

我试过了 从表名中选择product_id,其中filter_id = 2 AND filter_id = 12

谢谢

最佳答案

您的查询

SELECT product_id FROM tablename WHERE filter_id = 2 AND filter_id = 12

将返回0行,因为不可能有一行的filterid同时等于2和12,这在关系数据库设计中是不可能

而是使用 IN operator为列指定多个必需值。

SELECT product_id FROM tablename WHERE filter_id IN(2,12)

关于php - 匹配到单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039954/

相关文章:

php更改 fatal error 格式

sql - 如何使用 `OR` 子句控制 ActiveRecord 查询中的括号位置

sql - Ruby on Rails : Basic parameterized queries and URL formation

java - 如何使用 Java 显示来自 Oracle 的连接?

javascript - 是否有义务运行 Node 服务器以执行基于 Angular 的应用程序

php - Cookie Lifetime 无法按预期工作

php - 运行查询时,未创建 php 中的表

mysql - 我如何让 Lando mysql portforward 与 lamp 配方一起工作

php - 限制 SQL Select 查询

PHP - 更改表单提交内容 - 上传