我有一个问题,我希望你们可以帮助我。我想首先说我是处理数据库的新手,所以请耐心等待这一点。
我需要从包含来自不同.csv文件的注册字段的Microsoft Access数据库(.accdb格式)中获取数据。每次更新csv文件并将其插入数据库中的表data_table
时,时间戳记录在字段TIME_STAMP
中:
DATE_FLD FETCH_DATE TIME_STAMP LAST_UPDATE VAL_1 VAL_2 ...
11/10/2014 11/10/2014 11/10/2014 14:23:14 0.599 7355 212
11/10/2014 11/10/2014 11/10/2014 15:23:57 0.640 7355 461
由于csv数据包含预测数据,FETCH_DATE
表示实际记录数据的日期,DATE_FLD
是该特定日期的预测值。列LAST_UPDATE
只是FETCH_DATE
和TIME_STAMP
之间的差异。在VBA中使用诸如SELECT
之类的sql代码,我成功地从数据库中获取特定字段(或整个行)。我目前面临的问题是从指定的FETCH_DATE
的表格中获取最新数据。
因此,如果我想了解2014-11-10的预测数据的最新更新,截至2014-11-10,我希望以风格打电话,
SELECT *
FROM data_table
WHERE FETCH_DATE=11/10/2014 AND DATE_FLD=11/10/2014 AND MAX(LAST_UPDATE)
最后一部分MAX(LAST_UPDATE)
将导致在上面的示例中获取第二行,因为该行根据字段TIME_STAMP
具有最新的时间戳记录。
由于我刚刚开始构建数据库,我可以以更聪明的方式重新构建数据库,如果有人比我想要的更好,可能不会使用LAST_UPDATE
部分这里...
非常感谢,
/ N