我在SQLServer中有一个查询,它返回给定产品库存中的最后一个条目以及许多其他列。喜欢的东西:从每个产品ID的多列查询中选择Top1
SELECT
TOP(1) EntryDate,
EntryPrice,
TaxID,
TransportCost,
...
FROM
StockEntries
WHERE
ProductID = @ID
ORDER BY
EntryDate DESC
我不能使用MAX获得的最后一项,因为有时它返回重复的行(当有当天两个条目)。
我想对每个产品执行此查询。我能做到这一点,如果查询返回的仅1列,如:
SELECT
ProductID p,
(
SELECT
TOP(1) s.EntryDate
FROM
StockEntries s
WHERE
s.ProductID = p.ProductID
ORDER BY
s.EntryDate DESC
)
FROM
Products p
但因为它返回多行,我看不到一条直线的方式来做到这一点。
任何想法?
那就是我在找的东西。谢谢! –