0

我需要在每个月的最后一个星期一从 Table1 中提取数据并将其插入到 Table2 中。我的表的基本版本是这样的..

表 1(ID、姓名、生效日期)

表 2(ID、名称、EffectiveDate、ProcessDate)

我只想提取那些 Effectivedate 从当前日期起 4 个月的记录(例如:如果 EffectiveDate 是 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 回答