Problemet er med NULL sammenligning. Hvis a.field1 eller b.field3 er NULL, skal du bruge en IS NULL eller IS NOT NULL-sætning. Du kan bruge en standardværdi for a.field1 og b.field3 med ISNULL-funktionen.
ISNULL(a.field1,0) <> ISNULL(b.field3,0)
i dette tilfælde er der en sammenligning med værdien 0.
SELECT IIF(NULL=NULL,'sand','false') -- Resultatet er falsk. Fantastisk!