Váš jediný problém je, že místo AND používáte NEBO.
Podívejme se na případ, kdy je hodnota NULL:
CON.EMAILADDRESS IS NOT NULL=> NEPRAVDACON.EMAILADDRESS != ' '=> NULL
FALSE OR NULL => NULL. Protože výsledkem kritérií není hodnota TRUE, nevybíráte hodnoty NULL.
A pokud je hodnota prázdný řetězec '', ' ' nebo jakákoli délka:
CON.EMAILADDRESS IS NOT NULL=> PRAVDACON.EMAILADDRESS != ' '=> NEPRAVDA
PRAVDA NEBO NEPRAVDA => PRAVDA. Vyberete prázdný řetězec.
Předpokládám, že to je to, co vás zmátlo:přestože jste omylem použili OR místo AND, stále jste odstranili některé prázdné řetězce, ale ne všechny.
Takže:
WHERE CON.EMAILADDRESS IS NOT NULL AND CON.EMAILADDRESS != ' ';
Nebo jako jakýkoli řetězec != '' nemůže být NULL (NULL != '' => NULL, nikoli TRUE), jednoduše:
WHERE CON.EMAILADDRESS != '';