簡體   English   中英

如何從一個查詢一個表中選擇多個鍵值?

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

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