Ver Mensaje Individual
  #1  
Antiguo 09-10-2006
kikecg kikecg is offline
Miembro
 
Registrado: feb 2006
Ubicación: Madrid
Posts: 39
Reputación: 0
kikecg Va por buen camino
Sentencia UPDATE

Hola.

Necesito hacer un UPDATE a un campo de una tabla tomando como valor un campo de otra tabla. El problema con el que me encuentro es que en la tabla de la que tomo los valores se pueden dar multiples registros por cada uno de la tabla a actualizar.

Algo así:


Código SQL [-]
UPDATE TABLA1 TB1 SET TB1.SENDER_POINT = (SELECT SENDER_POINT FROM TABLA2 WHERE ID_GIRO = TB1.ID_GIRO)



Esto me devuelve Multiple rows in sigleton select.

He probado a añadir ROWS 1 en la sentencia SELECT:



Código SQL [-]
UPDATE TABLA1 TB1 SET TB1.SENDER_POINT = (SELECT SENDER_POINT FROM TABLA2 WHERE ID_GIRO = TB1.ID_GIRO ROWS 1)



Pero entonces el resultado es:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, char 64.
ROWS.


Necesito hacer esta actualización ya que le campo SENDER_POINT de la tabla a actualizar no existía en un principio, y ahora hay que actualizarlo con el dato correcto. El problema es que son demasiados registros para hacerlo manualmente.

¿Alguien me puede dar alguna idea de como escribir la sentencia para que me haga la actualización?, ¿o no se puede hacer directamente en una consulta?.

Ah!, todo esto trabajando en Interbase 7.5.

Muchas gracias.
Responder Con Cita