0

毎月最終月曜日に Table1 からデータを抽出し、それを Table2 に挿入する必要があります。私のテーブルの基本バージョンはこのようなものです..

Table1 (ID、名前、発効日)

Table2 (ID、名前、発効日、処理日)

有効日が現在の日付から 4 か月経過しているレコードのみを抽出したい (たとえば、有効日が 1 月 1 日の場合、4 月 1 日以降に抽出する必要があります...)。実際、Table2 はレポート目的で使用されているため、フィルタリング中に使用できる「processDate」フィールドがあります。

どんな助けでも大歓迎です..ありがとう

編集:

まあ、私たちはこのようなことができることを知っています

有効日 < DATEADD(MM,-4,GetDate())

4

1 に答える 1

1

このようなもの?

SELECT * FROM Table1 WHERE EffectiveDate >= DATEADD(mm, -4, GETDATE()) 

アップデート:

では、4 か月前のすべてのレコードが必要ですか? 次に、 < 演算子を切り替えるだけです。

SELECT * FROM Table1 WHERE EffectiveDate <= DATEADD(mm, -4, GETDATE()) AND processed = 0

更新 2:

これを試して:

SELECT 
    * 
FROM Table1 
    LEFT JOIN Table2 ON Table1.ID = Table2.ID 
WHERE 
    Table1.EffectiveDate <= DATEADD(mm, -4, GETDATE())
    AND Table2.ProcessedDate IS NULL
于 2012-09-04T13:40:18.747 に答える