我想选择每个客户购买的最昂贵的产品,但我在 3 个表中提供了信息:客户、购买、产品价格。
表格如下所示:
顾客:
Customer_ID | Customer_Name
购买:
Customer_ID | Product_ID
产品价格:
Product_ID | Price
我正在运行的是:
SELECT
Customer_Name, max(Price), Purchases.Product_ID
FROM Customers
LEFT JOIN Purchases
ON Customers.Customer_ID=Purchases.Customer_ID
LEFT JOIN ProductPrices
ON Purchases.Product_ID=ProductPrices.Product_ID
GROUP BY Customer_Name
ORDER BY ABS(Price) DESC
;
我得到的输出是名称和最高购买正确,但 product_id 是第一个,并且与最高价格无关。
你能帮我找出我做错了什么吗?
编辑:
为了让你更容易,我创建了这个: