Pokud existuje vztah jedna k mnoha mezi t1 a t2 nebo mezi t2 a t3, získáte mnoho shod pro každý řádek v t1. Pokud víte, že všechny řádky v t3, které patří do stejného řádku v t1, mají stejnou hodnotu v d, můžete použít DISTINCT
k odstranění (identických) duplikátů.
UPDATE table1 t1
SET t1.c = (select DISTINCT t3.d
from table2 t2, table3 t3
where t2.b = t3.b and t1.a = t2.a)
WHERE EXISTS ( SELECT 1 FROM table2 t2, table3 t3 WHERE t1.c = t3.c and t1.a = t2.a);