Dal punto di vista progettuale quello che devi fare è errato.
In genere i contatti si separano in una tabella secondaria in modo che un'anagrafica possa avere più contatti, es. email1, email2 magari con qualche flag per indicare primaria o altro.
Detto questo, prova qualcosa del genere ovviamente non sul database di produzione ma su una copia.. non si sa mai.
E' abbozzata ma puoi prenderla come base di partenza
UPDATE table1 SET table1.email= (
SELECT table2.email FROM table2 WHERE table1.codicefiscale= table2.codicefiscale
)