我有一個SQL Server 2008數據庫。這個數據庫有一個名爲Product,Order和OrderProduct的表。這三個表如下所示:SQL Server 2008數據庫中類似記錄的不同
Product
-------
ID
Name
Description
Order
-----
ID
OrderDate
Status
OrderProduct
------------
OrderID
ProductID
Quantity
我試圖找出最後三個獨特產品的人訂購。不過,我還需要包含產品訂購的最後日期。我的問題是我一直得到一個結果集是這樣的:
豆類能(10/10/2011) 純鹼(10/09/2011) 豆類能(10/08/2011)
第二個「Can Beans」不應該在那裏,因爲我已經展示了「Can Beans」。我的查詢是這樣的:
SELECT TOP 3 DISTINCT
p.[Name],
o.[OrderDate]
FROM
[Product] p,
[Order] o
[OrderProduct] l
WHERE
l.[ProductID]=p.[ID] and
l.[OrderID]=o.[ID]
ORDER BY
o.[OrderDate] DESC
我知道DISTINCT不會工作的原因是因爲訂單日期不同。不過,我不知道如何解決這個問題。有人能告訴我如何解決這個問題嗎?