Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2008, 06:14
mcdios
 
Fecha de Ingreso: noviembre-2004
Mensajes: 4
Antigüedad: 19 años, 4 meses
Puntos: 0
Solucionado: Problema con update con columna de otra tabla

Hola, necesito actualizar los registros de una tabla con valores que se sacan de otra. La query que me saca los datos es:
select o.IDOFICINA idOficina, o.IDTIPOHORARIO tipoHorario_Viejo, m.IDTIPOHORARIO tipoHorario_Nuevo, m.descripcion
from dtoficina o, MSTIPOHORARIOOFICINA m
where lower(trim(o.TIPOHORARIOBASIS))=lower((m.DESCRIPCI ON))

Para el resultado de esta query, tengo que hacer un update de los idOficina que salgan en esa query, cambiar el tipo de horario viejo por el nuevo.
Sería algo como:
UPDATE dtoficina o
SET (idoficina, IDTIPOHORARIO) =
(
SELECT o.IDOFICINA idOficina, m.IDTIPOHORARIO IDTIPOHORARIO
from dtoficina o, MSTIPOHORARIOOFICINA m
where lower(trim(o.TIPOHORARIOBASIS))=lower((m.DESCRIPCI ON))
)
where idoficina in (SELECT o.IDOFICINA idOficina
from dtoficina o, MSTIPOHORARIOOFICINA m
where lower(trim(o.TIPOHORARIOBASIS))=lower((m.DESCRIPCI ON)));

Pero esta query no funciona porque la select interna del set devuelve más de una fila.
Necesito ayuda.
Gracias

Última edición por mcdios; 24/04/2008 a las 09:06 Razón: Pregunta solucionada