[英]how to select multiple key value from one table with one query?
這是樣本產品屬性表
product_id property_id property_value
5 1 white
5 2 50
5 3 50
5 4 55
5 5 mm
6 8 cm
我想動態過濾我的產品。 例如:
select property_id 1 and property_value white
AND
select property_id 2 and property_value 50
AND
select property_id 4 and property_value 55
AND
etc ...
我可以從基本查詢中進行動態查詢。 當我一起使用所有條件時,沒有記錄匹配,因為所有條件運算符都是AND。 最好的查詢是什么? 感謝您的回答。
聽起來您使用的是錯誤的關鍵字。 在條件組之間使用OR
而不是AND
:
SELECT DISTINCT product_id
FROM product_properties
WHERE
(property_id = 1 and property_value = 'white')
OR
(property_id = 2 and property_value = '50')
OR
(property_id = 4 and property_value = '55')
OR
etc ...
如果您只想要每個與各種條件匹配的product_id
中的一個,則可以使用DISTINCT
也可以不使用它來為匹配的每一行獲取一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.