• Or you could re-write the view to avoid the problem:

    CREATE VIEW TODOS2

    AS

    SELECT A.rgt, A.codctt, D.CIF, D.morada, D.dta_alteracao, D.bictb

    FROM allt AS A

    JOIN

    (

    SELECT B1.codctb, B1.CIF, B1.morada, B1.dta_alteracao, B1.bictb

    FROM contribuintesest AS B1

    UNION ALL

    SELECT B2.codctb, B2.CIF, B2.morada, B2.dta_alteracao, NULL

    FROM contribuintee AS B2

    UNION ALL

    SELECT B3.codctb, B3.CIF, B3.morada, B3.dta_alteracao, NULL

    FROM contribuinteinst B3

    ) D

    ON A.codctb = D.codctb