UPDATE problemático

wolverine4277
28 de Abril del 2005
Suponiendo que tengo las siguientes tablas con los campos especificados:

tabla1
campo11 campo12 campo13

y

tabla2

campo21 campo22 campo23 campo24 campo25


Necesito realizar las siguientes operaciones:

UPDATE tabla1
SET campo12 = tabla2.campo22
FROM tabla1,
tabla2
WHERE (tabla1.campo11 = tabla2.campo21)


UPDATE tabla1
SET campo13 = tabla2.campo23
FROM tabla1,
tabla2
WHERE (tabla1.campo13 = tabla2.campo23)


Lo que necesitaría saber es si puedo hacer esto en una sola consulta SQL, ya que estuve probando y no logro hacer que funcione.
Desde ya muchas gracias.

trazom
28 de Abril del 2005
El segundo update no hace nada, lo puedes eliminar. El primero lo resuelves con:

UPDATE tabla1 t1
SET t1.campo12 = (SELECT t2.campo22
FROM tabla2 t2
WHERE t2.campo21 = t1.campo11)
WHERE EXISTS (SELECT null
FROM tabla2 t2
WHERE t2.campo21 = t1.campo11);