0

レポートを作成するために除外する必要があるデータに問題があります。

基本的に毎日ファイルを取得してシステムにロードしますが、ファイルは累積ファイルであり、基本的に毎日同じ情報と新しいデータで再インポートされます。

これにより、ヘッダー テーブルとディテール テーブルの 2 つのテーブルがデータベースに読み込まれます。

ヘッダー テーブルには、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 に答える