Die Aussage ist doch wohl eindeutig.
Woher soll SQL denn wissen, aus welcher Zeile du denn den Update für das Feld haben willst.
Du musst den Select schon so eingrenzen, dass er genau 1 Ergebnis bringt.
Dazu gibts mehrere Methoden:
select distinct ...<= ggf. unsicher, wenn mehr als 1 Wert vorkommen kann
select min(..)... <= gibt halt den kleinsten
select ... fetch first 1 rows only <= liefert den ersten
Zu letzterem: ggf. hilft hier noch ein order by um den 1. zu beeinflussen.