Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Oracle

Respuesta
 
Herramientas Desplegado
Antiguo 24-abr-2008, 06:14   #1 (permalink)
mcdios ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 4
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-abr-2008 a las 09:06. Razón: Pregunta solucionada
mcdios está desconectado   Responder Citando
Antiguo 24-abr-2008, 08:36   #2 (permalink)
mcdios ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 4
Re: Problema con update con columna de otra tabla

Ya lo solucioné. Por si le sirve a alguien:
UPDATE DTOFICINA o SET IDTIPOHORARIO =
(
SELECT m.IDTIPOHORARIO
FROM MSTIPOHORARIOOFICINA m
WHERE LOWER(trim(o.TIPOHORARIOBASIS))=LOWER((m.DESCRIPCI ON))
)
WHERE LOWER(trim(o.TIPOHORARIOBASIS)) IN (
SELECT
LOWER((MSTIPOHORARIOOFICINA.DESCRIPCION)) FROM MSTIPOHORARIOOFICINA)
mcdios está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 13:27.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93