... schief gehen tut, wenn man mehr als eine Vertreternummer zuordnen will, deshalb sollte man logischerweise nur eine in der Zuordnungstabelle haben, was man über eine unique constraint absichern kann, das where exists hilft da nix.
Was das coalesce angeht, da kann man über besser geteilter Meinung sein und wir sind da wohl unterschiedlicher, was zuweilen vorkommt. Aus der Sicht des Datenbankdesigns handelt es sich bei der Vertreternummer um eine typische Foreign Key Beziehung und da gibt es gute Gründe null Values zuzulassen, damit man eine referential constraint einrichten kann ohne sich eine Dummy Vertreter einzurichten, oder gar bei nicht vorhanden sein des Vertreters 0 oder blank in ein Foreign Key Feld reinzuschreiben.
Was das where exists angeht, naja, da gibt die Aufgabenstellung zuwenig her, um das exakt einzuordnen, ob die entsprechende Datei komplett ist...

D*B



Zitat Zitat von B.Hauser Beitrag anzeigen
Code:
update KundenTabelle k
set k.kundenNummer = (select v.vertreternummer
from vertreter v
where v.kundenNummer = k.kundenNummer)
Das setzt allerdings voraus, dass es auch zu jeder Kunden-Nr. genau eine Vertreter-Nr. gibt. Sollte nicht für jede Kunden-Nr. eine Vertreter-Nr. vorhanden sein, geht dieses Statement schief!

PHP-Code:
update KundenTabelle k                                     
       set k
.KundenNummer Coalesce((select Distinct v.VertreterNummer         
                                            from Vertreter v               
                                            where k
.KundenNummer v.VertreterNummer), 
                                       
k.KundenNr
Oder besser

PHP-Code:
update KundenTabelle k                                                
       set k
.KundenNummer = (select Distinct v.VertreterNummer         
                                   from Vertreter v               
                                   where k
.KundenNummer v.VertreterNummer)    
       
where exists (select *                       
                       
from KundenTabelle C                           
                       where k
.KundenNr c.KundenNummer
Birgitta