我正在尝试查询数据以进行交易。我想为最新的交易获取多个列。 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/