Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2007
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Question actualizar datos de una tabla según datos de otra.

hola a todos,

mi inconveniente es porque tengo una tabla que será actualizada (solo algunos campos), esta tomará datos de otra tabla (solo algunos campos)

la sentencia SQL para las inserciones es la siguiente:

Código SQL [-]
insert into tabladestino(campo1,campo2...) select (campo1,campo2...) from tablaorigen where ...

eso funciona perfectamente.

pero en el caso de las actualizaciones donde la estructura de la sentencia es la siguiente:

Código SQL [-]
update tabla set campo1=xxxxxxxx, campo2=yyyyyyy where ....

como hago para pasar los datos de la tabla origen a la tabla destina utilizando update

espero me hayan entendido...

agradezco toda la ayuda que me puedan brindar...
Responder Con Cita
  #2  
Antiguo 31-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Algo como:

Código SQL [-]
update destino
set campo1 = (
  select origen.campo1 from origen where destino.KEY = origen.KEY
),
set campo2 = (
  select origen.campo2 from origen where destino.KEY = origen.KEY
)
...

donde destino.KEY = origen.KEY significa que debes relacionar de alguna manera uno-a-uno ambas tablas. Lo malo aquí, es que requieres una subconsulta por cada campo.

Algunos motores, como MySQL permiten una modificación de la sentencia INSERT que sólo inserta nuevos registros y actualiza los ya existentes.

// Saludos
Responder Con Cita
  #3  
Antiguo 31-05-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
su usas Oracle, en los demas no sé si se pueda, puedes hacer.

Código SQL [-]
UPDATE TABLA1 SET (CAMPO1, CAMPO2, CAMPO3) = (SELECT C1, C2, C3 FROM TABLA2 WHERE TABLA2.PK2 = TABLA1.PK1)



saludos.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #4  
Antiguo 31-05-2007
ramiretor ramiretor is offline
Miembro
 
Registrado: may 2003
Ubicación: México
Posts: 196
Poder: 21
ramiretor Va por buen camino
Hola:
Esto ultimo debe funcionar cuando menos en DB2, ademas de Orale

Saludos
__________________
Ernesto R.
Responder Con Cita
  #5  
Antiguo 31-05-2007
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
actualizar

desafortunadamente estoy trabajando con access y no funciona
Responder Con Cita
  #6  
Antiguo 01-06-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
entocne sprueba la soucion de roman,


__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar un campo de una tabla con datos que se encuentran en otra tabla Morphine SQL 4 15-12-2006 22:47:42
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
Actualizar tabla con datos de otra tabla ElDioni SQL 2 02-05-2006 16:04:04
Actualizar un campo segun opcion de picklist de otra columna de un dbgrid nefy Conexión con bases de datos 5 17-01-2004 20:11:34
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 11:29:40


La franja horaria es GMT +2. Ahora son las 09:38:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi