【发布时间】:2013-02-08 02:26:25
【问题描述】:
我有两张桌子:
InventoryPart:
PartNumber、PartDescription、CategoryID、EOQ、StockPrice、 ReorderLevel、StockLevel、StockOnOrder、权重
和
CustOrderLine
OrderID、PartNumber、UnitPrice、OrderQuantity、折扣、状态
我只需要返回每个类别中最昂贵的库存零件的 PartNumber、PartDescription、StockPrice 和 CategoryID
这是迄今为止我想出的最好的......
SELECT IP.PartNumber, IP.PartDescription, IP.CategoryID, IP.StockPrice
FROM InventoryPart IP, CustOrderLine COL
WHERE IP.PartNumber = COL.PartNumber
AND COL.UnitPrice IN
(SELECT MAX(COL.UnitPrice)
FROM CustOrderLine COL)
此代码的问题在于它返回所有类别的 MAX UnitPrice,而不是按类别分隔
我已经被这个问题困扰了几个小时,我觉得我现在做的弊大于利。非常感谢您的帮助。
【问题讨论】:
-
sqlfiddle 上的样本数据?
标签: sql max correlated-subquery