我正在使用带有2个表的链接MS-SQL数据库的MS-Access 2007。
一个表是库存明细,另一个是库存的跟踪,在特定日期跟踪每个库存的状态(按ID)。
我需要按最大日期值检索每个TrackID
的{{1}},这样我就可以获得每个广告资源项的最新状态。
InvenotryID
跟踪表示例:
Inventory table: ID, Details, etc.
Track table: ID, Inventory (ID), TDate, Status, Branch.
查询应该获取:
ID | Inv. | TDate | Status
332| 4 | 02/03 | free
342| 6 | 02/12 | working
346| 4 | 02/09 | working
347| 7 | 02/11 | repairs
349| 5 | 02/05 | repairs
352| 6 | 02/13 | free
355| 5 | 01/28 | working
356| 7 | 02/14 | free
注意:由于非线性状态注册, TrackID | Inv. | TDate | Status
346 | 4 | 02/09 | working
355 | 6 | 02/13 | free
356 | 7 | 02/14 | free
349 | 5 | 02/05 | repairs
不一定是字段的最大值。
由于我缺乏SQL,我无法创建可以表明这种想法的查询。
答案 0 :(得分:0)
也许:
SELECT test.ID, test.Inv, test.TDate, test.Status
FROM test INNER JOIN
(SELECT test.Inv, Max(test.TDate) AS MaxOfTDate
FROM test
GROUP BY test.Inv) AS q
ON (test.TDate = q.MaxOfTDate) AND (test.Inv = q.Inv)
GROUP BY test.ID, test.Inv, test.TDate, test.Status;
test是表格的名称。