我正在尝试查询数据以进行交易。我想为最新的交易获取多个列。 PONumber,供应商,每件商品的价格,最后一次购买。例如:

数据:

PONumber    Item    Vendor    Price    DateOrdered
1           ABC     Wal-Mart  1.00     10/29/12
2           ABC     BestBuy   1.25     10/20/12
3           XYZ     Wal-Mart  2.00     10/30/12
4           XYZ     HomeDepot 2.50     9/14/12


所需结果集:

PONumber    Item    Vendor    Price    DateOrdered
1           ABC     Wal-Mart  1.00     10/29/12
3           XYZ     Wal-Mart  2.00     10/30/12


尝试在DateOrdered上使用max函数,但是当我包括该供应商时,我得到了每个供应商和每个项目的最后一次购买(行太多)。我需要每个项目一个记录。关于如何完成的任何想法?结合使用MS Access 2007和ODBC到oracle表。提前致谢。

最佳答案

怎么样:

SELECT
   tran.PONumber,
   tran.Item,
   tran.Vendor,
   tran.Price,
   tran.DateOrdered
FROM tran
WHERE tran.DateOrdered = (
   SELECT Max(DateOrdered)
   FROM tran t
   WHERE t.item=tran.item)


tran是您的表格。

关于date - 在一列中获取最大值(日期)的完整记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13140494/

10-10 11:13