我在UPDATE语句中找到了下面的WHERE子句,我讨厌它。我认为唯一能让它与众不同的方法是与CTE和一些联盟。更新中令人讨厌的WHERE子句
FROM dbo.Table1 T1
INNER JOIN #Table2 T2 ON T1.IntField1 = T2.IntField1
WHERE (ISNULL(T1.IntField2, 0) <> ISNULL(T2.IntField2, 0)
OR ISNULL(T1.IntField3, 0) <> ISNULL(T2.IntField3, 0))
AND (T2.IntField1 IN (
SELECT IntField1
FROM dbo.Table3)
OR T2.IntField1 IS NULL)
我想我只是盯着这太久了。我碰巧看到这个SP,看到这个。真的觉得有些事情可以做得不同/更好。