0

我对需要过滤掉以生成报告的数据有疑问。

基本上每天我们都会获取一个文件并将其加载到系统中,但该文件是累积文件,基本上每天都会重新导入相同的信息和新数据。

这会将数据库加载到两个表中,即标题表和详细表。

在标题表中,我有 No_ 的键字段、导入日期以及数据用于(期间)的月份和年份,例如“Apr2013”​​。

详细表包含您可以想象的所有导入信息。

我要做的是忽略所有旧数据,只查看该月的最新导入。

希望有人可以帮助我,如果您希望我发布任何示例数据或任何内容,请告诉我,我会添加它。

提前致谢!

菲尔

4

1 回答 1

0

如果您无法更改流程以停止一遍又一遍地重新导入相同的数据 - 特别是如果数据完全相同- 您可以尝试以下查询:

WITH MostRecentData AS
(
    SELECT MAX(dateImported) dateImported, month, year
    FROM header
    GROUP BY month, year
)
SELECT ...
FROM detail d
INNER JOIN header h ON h.[key] = d.[key]
INNER JOIN MostRecentData r ON h.month = r.month AND h.year = r.year 
    AND h.dateImported = r.dateImporter

这将提取每个月和年的最新行(基于导入的日期)。

老实说,如果可能的话,我会尝试更改导入过程。这听起来像是浪费了很多空间和后续处理来提取你想要的数据。

于 2013-04-05T19:32:04.557 回答