簡體   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