Cita:
Iniciado por analfa Bajo ciertas condiciones, podes usar un join updateable, que para gran cantidad de registros es lo mas performante.
t1(c1,c2)
t2(c1 primary key,c3)
Actualizo t1.c2 con los valores de t2.c3.
UPDATE (SELECT a.c1,c2,c3
FROM t1 a,t2 b
WHERE a.c1 = b.c1)
SET c2 = c3;
Gracias, pero sigue faltándome la parte del "if is null-->don't update".
Creo que lo mejor será hacer selects antes de las dos tablas, y en unas variables poner los valores a introducir, de forma tal que el update pone los valores que vengan en esas variables (que será o el valor nuevo, o el valor antiguo).
Es decir, en la parte en la que has puesto c2=c3, poner (o hacer lo necesario para que sea así) c2=c3 si c3 <> null, si no, c2=c2 (no se modifica).