[英]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.