2012-12-17 49 views
18

下图中的亮点显示了我想实现的逻辑。我意识到语法是不正确的。MERGE - 有条件的“WHEN MATCHED THEN UPDATE”

是否有一种方法可以有条件地更新MERGE语句中的记录,只有当目标表中的某个列的值为NULL且源表中的相应值不为空时?

你会建议如何重写?

enter image description here

+0

此代码应格式化为代码,而不是作为图像 – Liam

回答

39

您可能能够使用When Matched And (s.[Created Date] Is Not Null And t.[Created Date] Is Null) Then Update ...

+3

+1,请参阅示例B以查看完整示例:http://technet.microsoft.com/en-us/library/bb510625.aspx –

+0

谢谢为了答案,@劳力士。 –

+0

我发布了一个[后续问题](http://stackoverflow.com/questions/13924973/merge-update-column-values-separately-based-on-logic-in-when-matched-block)。我做了一个单独的帖子,所以我可以承认这个答案是正确的,以及我的下一个问题的答案(如果我有幸得到一个答案) –