我面临需要从表中删除记录的情况。
场景是:第一个表有一些日期值,第二个表只包含年终(日期)记录。如果第一个表的值不在第二个表中,我需要从第一个表中删除此记录。
以下是第一个表中的日期值
2009-06-30 00:00:00.000
2009-12-31 00:00:00.000
2011-11-30 00:00:00.000
2011-12-31 00:00:00.000
以下是第二个表中的日期值
2005-12-31 00:00:00.000
2006-12-31 00:00:00.000
2007-12-31 00:00:00.000
2009-12-31 00:00:00.000
在比较两个表时,第一个表的日期值('2011-12-31 00:00:00.000')不在第二个表中。因此我需要在第一个表中单独删除这条记录。
我正在使用以下查询,但没有得到所需的结果。
使用的查询
Select tmp.* from #temp tmp
Inner Join #temp1 tmp1
On tmp.Val_DT != tmp1.ye_dt
Where DATEPART(mm,tmp.Val_dt) = 12
注意: 第二个表仅包含年终日期。
如何做到这一点?