我需要从Table1中提取数据并在每个月的最后一个星期一将其插入Table2。我的表的基本版本是这样的..
表1(ID,名称,有效日期)
表2(ID,Name,EffectiveDate,ProcessDate)
我想只提取那些有效日期是当前日期4个月的记录(例如:如果EffectiveDate是1月1日那么它应该在4月1日之后提取......)。实际上Table2用于报告目的,所以我们有'processDate'字段,我们可以在过滤时使用。
任何帮助都会受到赞赏。谢谢
编辑:
嗯,我知道我们可以做这样的事情
EffectiveDate< DATEADD(MM,-4,GETDATE())
答案 0 :(得分: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