簡體   English   中英

MySQL查詢購物車過濾器

[英]MySQL query for shopping cart filter

我正在使用下表購物車

id  product_id  attribute_id    value
----------------------------------------
1       1           1           A,B,C
2       2           1           B,C
3       3           1           C
4       1           2           200
5       2           2           150
6       3           2           300
7       1           3           RED
8       2           3           BLUE
9       3           3           RED,GREEN
10      1           4           YES
11      2           4           NO
12      3           4           NO

我可以從此表中形成搜索結果。 提供了按屬性過濾搜索結果的條款。

屬性可以包含以下類型的值:

  1. 數值(250)
  2. 字符串(是/否)
  3. 字符串列表(A,B,C)

我需要查詢以獲取以下條件的product_id列表

  • attribute_id = 1且值= B或C
  • attribute_id = 2並且值= 150
  • attribute_id = 4,值= NO

我提到了一個庫存問題( MySQL Multiple Where Clause )並嘗試了但無法獲得實際輸出。

WHERE子句中使用OR ,並使用方括號拆分每個條件。

SELECT id, product_id, attribute_id, value
FROM shoppingcart
WHERE (attribute_id = 1 AND value IN ('B', 'C'))
OR (attribute_id = 2 AND value = 150)
OR (attribute_id = 4 AND value = 'NO')

嘗試這個:

SELECT product_id FROM table_name WHERE 

(attribute_id = 1 AND (
            (value LIKE 'B,%' OR value LIKE '%,B' OR value LIKE '%,B,%' OR value LIKE 'B')
            OR
            (value LIKE 'C,%' OR value LIKE '%,C' OR value LIKE '%,C,%' OR value LIKE 'C')
              )
) 

OR

(attribute_id = 2 AND value = '150')
OR

(attribute_id = 3 AND value = 'NO')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM