我在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,看到這個。真的覺得有些事情可以做得不同/更好。