update File1 a set a.palt = (select b.pneu from File1 b where a.artikel = b.artikel and b.liste = 10) where a.liste = 1 and exists (Select * from File1 b where a.artikel = b.artikel and b.liste = 10)
Das Problem ist:
Der scalare Subselect kann auch "Nichts" als Ergebnis finden.
Fatal an dieser Stelle ist, wenn das Zielfeld NULL erlaubt, wird ggf. der NULL-Inhalt gesetzt obwohl man dies vielleicht gar nicht wollte.
Entweder man stellt den Ursprungswert her (coalesce) oder wählt die Daten auf die einzuschränkenden Sätze incl. des skalaren Subselects aus.
Nun hängt es von den Indizes ab, welcher Befehl schneller ist.
Bookmarks