繁体   English   中英

SQL 同一列中的多个过滤器用于过滤产品

[英]SQL Multiple filters in same columns for filtering product

我正在尝试从我的数据库中过滤产品。 我想要 select 产品,它们符合我的条件。

我有一张带有过滤器和指定产品的表格

筛选 价值 product_id
Memory 2048 1
三星 1
Memory 2048 2
小米 2

现在我需要使用 (filter = 'Memory' AND value = '2048') AND (filter = 'Brand' AND value = 'Samsung') 过滤产品

这总是返回空行。

我正在使用 Mariadb 10.5

您可以使用聚合,并使用having子句确保所有过滤器都通过:

select product_id
from t
where (filter = 'Memory' AND value = '2048') or
      (filter = 'Brand' AND value = 'Samsung')
group by product_id
having count(*) = 2;

count(*) = 2确保满足这两个条件(好吧,假设您在表中没有重复的行,这似乎是一个合理的假设)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM