有一个分配给产品的过滤器 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/