0
我有一個名爲產品表,並呼籲ProductProperty子表:匹配在子表多行與MySQL
Product(Product_id, productName,...)
ProductProperty(id, propertyKey, propertyValue, Product_id)
因此,一個產品可以有多個相應ProductProperty行。
現在我想查詢一些內容:'選擇所有產品行的屬性寬度= 12和高度= 35'。對於這個特定的例子,我提出了以下查詢,該查詢可行,但我覺得我可能缺少一個好的解決方案。
SELECT Product.Product_id from Product
WHERE
EXISTS (SELECT * FROM ProductProperty WHERE propertyKey='width' AND propertyValue='12' AND ProductProperty.Product_id = Product.Product_id)
AND
EXISTS (SELECT * FROM ProductProperty WHERE propertyKey='height' AND propertyValue='35' AND ProductProperty.Product_id = Product.Product_id);
有沒有明顯更好的實現,我在這裏失蹤?
謝謝。最後一個似乎沒有給出正確答案,但第一個查詢是我要使用的,謝謝。 –
我編輯了我的答案。第二個應該現在工作。 – shmosel
是的,現在也行得通,在我選擇使用第二種解決方案之後, –