... den select musst Du Dir in einer Klammer vorstellen, sprich es selektiert alle (also die mehrfach vorkommenden mehrfach) und versucht dann das einzufüllen, was nicht gelingen kann, falls da eine unique constraint das verhindert...
Du musst die Doubletten irgendwie durch Gruppierung im Select beseitigen (bloß welche Adresse solls denn sein???).
Für den Insert/update brauchst Du zwei Statements (sinnigerweise erst den update).

D*B