我JOIN
在 MS SQL Server 2012 中使用 a来删除一个表中与另一个表中的记录匹配的记录
DELETE t1
FROM Table1 t1
JOIN Table2 t2
ON
t1.[Column1] = t2.[Column1]
AND t1.[Column2] = t2.[Column2]
AND t1.[Column3] = t2.[Column3]
但是,如果两个表中的列都包含,null
则它们不匹配并被删除。如果两列都包含null
,我如何修改查询以匹配记录,而不添加特定检查null
DELETE t1
FROM Table1 t1
JOIN Table2 t2
ON
t1.[Column1] = t2.[Column1] OR (t1.[Column1] is null and t2.[Column1] is null)
AND t1.[Column2] = t2.[Column2] OR (t1.[Column2] is null and t2.[Column2] is null)
AND t1.[Column3] = t2.[Column3] OR (t1.[Column3] is null and t2.[Column3] is null)
可以尝试以下方法:
DELETE t1
FROM Table1 t1
JOIN Table2 t2
ON
Isnull(t1.[Column1],'') = isnull(t2.[Column1],'')
AND isnull(t1.[Column2],'') = isnull(t2.[Column2],'')
AND isnull(t1.[Column3],'') = isnull(t2.[Column3],'');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句