在 SQL Server 2008 中:
假设我有两张桌子。
表 1 有 3 个字段:名称、日期 1 和日期 2。目前,所有 Date2 条目都是 NULL。(Name, Date1) 形成一个唯一键。
表 2 有 2 个字段:名称和日期 2。(Name, Date2) 形成一个唯一键。
表 1 中的每个“名称”在表 2 中至少有一个对应的条目。
现在,我想将 Table1 中的所有 Date2 条目(记住它们现在都是 NULL)更新为 Table2 中最接近Table1 中 Date1 的 Date2 条目。即给出以下结果的日期:
min(datediff(dd,Table1.Date1,Table2.Date2))
所以要清楚,如果我有以下条目:
表格1:
[姓名]:卡尔,[日期 1]:2009 年 1 月 1 日,[日期 2]:NULL
表2:
[姓名]:卡尔,[日期 2]:2000 年 1 月 1 日
[姓名]:卡尔,[日期 2]:2009 年 1 月 7 日
[姓名]:卡尔,[日期 2]:2010 年 1 月 1 日
然后我想将 Table1.Date2 更新为“2009 年 1 月 7 日”,因为那是最接近“2009 年 1 月 1 日”的日期。
非常感谢
卡尔