Yo con firebird uso algo así :
UPDATE Tabla1 T1 SET campo1=TRUE
WHERE EXISTS (SELECT * FROM Tabla2 T2
WHERE T2.campo2>10
AND T2.codigo=T1.codigo)
suponiendo que todas son FALSE antes de update.
ó
UPDATE Tabla1 T1 SET
campo1= MI_COMPARACION(T1.campo1, (SELECT T2.campo2 FROM Tabla2 T2 WHERE T1.codigo=T2.codigo),10)
En ambas asumo que el campo codigo es el que relaciona ambas tablas.
En la segunda propuesta habria que hacer la función MI_COMPARACION porque probré a poner " campo1 = (10 <> SELECT T2.campo2 FROM Tabla2 T2 WHERE T1.codigo=T2.codigo ) " y da error, lo que no se es si existe ya alguna funcion tal efecto (y que devuelva el tipo de dato que te interesa)
Saludos
Última edición por fly fecha: 18-04-2005 a las 16:22:07.
|