我在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
但因爲它返回多行,我看不到一條直線的方式來做到這一點。
任何想法?
那就是我在找的東西。謝謝! –