我有一个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不会工作的原因是因为订单日期不同。不过,我不知道如何解决这个问题。有人能告诉我如何解决这个问题吗?