我們已經制定了一個兩個表:使用相同的項目名稱選擇行和顯示最低價格
Products
ID | Item | Supplier
1 | Harry Potter | Warner
2 | Harry Potter | Warner
3 | Game of Thrones | HBO
4 | The Simpsons | Warner
5 | The Simpsons | Warner
和
Prices
ID | Price
1 | 10.99
2 | 20.00
3 | 20.00
4 | 10.00
5 | 12.00
我試圖讓價格最低的ID有兩個項目名稱和供應商名稱相同的項目。
我能在那裏有重複的行:
SELECT
Products.ID,Products.Item,Products.Supplier,Prices.price
FROM
Products
LEFT JOIN Prices ON Prices.ID = Products.ID
WHERE Products.ID IN (
SELECT ID FROM Products WHERE Supplier="Warner" GROUP BY Item HAVING count(*) > 1
)
我怎麼能那麼修改這個顯示價格最低的重複的項目名稱的只有Products.ID?
我嘗試過ORDER BY,但是這會爲我引發一個錯誤。
結果應該是:
ID | Item | Supplier | Price
1 | Harry Potter | Warner | 10.99
4 | The Simpsons | Warner | 10.00
感謝,
裏克
你怎麼知道哪個價格與產品有關?你確定'Prices.ID'將始終與'Product.ID'匹配嗎? – Brewal 2014-10-08 13:21:53
他們加入了ID。目前它只是顯示最高價格。 – 2014-10-08 13:24:23
這意味着一個產品只能有一個價格......那麼你爲什麼不在產品表中添加一個字段'price'? – Brewal 2014-10-08 13:25:11