使用内部联接更新表

SP1

我有两个表如下所示

BidID   CreatedDate              BidVersionNumber
2       2018-05-17 04:35:40.320    AB25443/01-01
3       2018-06-11 03:36:59.977    AB25443/01-01

第二表

BidVersionNumber       CreatedDate        BidId
 AB25443/01-01       5/17/2018 4:35:40
 AB25443/01-01       5/17/2018 4:41:10     

我想通过与BidVersionNumber上的第一个表联接来更新第二个表的BidId,但是由于BidVersionNumber是相同的,所以我也想在部分时间4:35:40上对CreatedDate联接进行匹配。有人可以告诉我如何在两个专栏中加入。

所需的输出

BidVersionNumber       CreatedDate        BidId
 AB25443/01-01       5/17/2018 4:35:40     2
 AB25443/01-01       5/17/2018 4:41:10     3  
戈登·利诺夫

这里最棘手的部分是时间比较。一种方法是从t1时间中减去一秒钟,基本上使用between

update t2
    set bidId = t1.BidId
    from table2 t2 join
         table1 t1
         on t2.BidVersionNumber = t1.BidVersionNumber and
            t2.CreatedDate <= t1.CreatedDate and
            t2.CreatedDate > dateadd(second, -1, t1.CreatedDate);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章