我们已经制定了一个两个表:使用相同的项目名称选择行和显示最低价格
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