下图中的亮点显示了我想要实现的逻辑。我意识到语法不正确。4 [: n, ]: D* G& M A0 a5 [' z
只有当目标表中列出的值为空,源表中的对应值不为空时,才能有条件更新MERGE句子中的记录吗? ! }% J% m0 w% ^4 w6 @5 k: e+ f+ O, d如何建议重写?; T' P, x$ c0 U r* v- F4 k
MERGE dbo.input_311 AS [t]USING dbo.input_311_staging AS <strike>ON ([t].[unique key] = <strike>.[unique key])WHEN NOT MATCHED BY TARGET THEN INSERT(t.[Created Date]) VALUES(s.[Created Date])WHEN MATCHED THEN UPDATE SET(t.[Created Date] = s.[Created Date] WHERE s.[Created Date] IS NOT NULL AND t.[Created Date] IS NULL)OUTPUT deleted.*,$action,inserted.*;GO k4 T! k# I4 O* ^" ~解决方案: 0 r; \- ?7 B e O( v& o
也许可以用When Matched And (s.[Created Date] Is Not Null And t.[Created Date] IsNull) Then Update ...。