【发布时间】:2015-04-24 15:31:06
【问题描述】:
我使用 Microsoft SQL,更具体地说,使用 LinnWorks 进行订单管理。我想提取每个 [SKU] 的最后一个订单以及为此支付的 [Price]。到目前为止,我认为我的方法是不正确的,因为每次支付的价格都会出现不同的行。
这是 LinnWorks 表格布局;
这是我尝试过的,在添加价格之前效果很好;
SELECT
si.ItemNumber AS [SKU],
DATEDIFF("d",MAX(o.dReceievedDate), GETDATE()) AS [Last Ordered],
oi.fpricePerUnit AS [Price],
si.RetailPrice AS [MSRP]
FROM [Order] o
INNER JOIN OrderItem oi
on o.pkOrderID = oi.fkOrderID
LEFT OUTER JOIN StockItem si
on si.pkstockItemId = oi.fkStockItemID_processed
WHERE o.Source = 'EBAY'
GROUP BY si.ItemNumber, oi.fpricePerUnit, si.RetailPrice
我明白它为什么这样做(分组),但我不知道解决问题的方法。
【问题讨论】:
-
我已经理解你的问题了。我想你需要添加 max([Last Ordered])
标签: sql sql-server select subquery