Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Pasar datos entre tablas con diferentes campos

Estas en el tema de Pasar datos entre tablas con diferentes campos en el foro de Mysql en Foros del Web. Hola... Tengo dos tablas y trato de pasar los datos de un campo, pero los campos tienen nombre diferentes. He tratado de esta manera: Código ...
  #1 (permalink)  
Antiguo 14/11/2010, 14:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Pasar datos entre tablas con diferentes campos

Hola...

Tengo dos tablas y trato de pasar los datos de un campo, pero los campos tienen nombre diferentes. He tratado de esta manera:

Código HTML:
INSERT INTO tabla_1 (apellido) SELECT apellido_paterno FROM tabla_2
Pero resulta que me agrega toda la cantidad de filas al final de la tabla_1 y los campos son NULL, es decir no tienen información.

Creo que me está faltando un WHERE, pero no se como sería, aunque lo he intentado de varias forma no logro solucinarlo.

Por favor, puede alguien ayudarme?
  #2 (permalink)  
Antiguo 14/11/2010, 14:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Pasar datos entre tablas con diferentes campos

INSERT ... SELECT... se usa cuando tienes que volcar registros completos de una tabla a otra. SI lo que necesitas es actualizar un campo de una tabla con datos tomados de otra tabla, lo que corresponde hacer es un UPDATE ... INNER JOIN ... ON ... SET ... [WHERE...]
La idea de un UPDATE así es que cruces las tablas para tomar sólo las que están netamente relacionadas y sólo actualizar la primera con la segunda (puede ser a la inversa, no lo he intentado).
Es posible que eso sea lo que debas hacer. Sólo ten en cuenta que forzosamente deberás tener uno o más campos que te puedan determinar el INNER JOIN. Si no son los correctos puedes terminar modificando campos en registros donde no debía hacerse.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/11/2010, 15:16
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Pasar datos entre tablas con diferentes campos

Gracias gnzsoloyo!

La situación se me complica entonces por que nunca he usado el INNER JOIN.

Voy a leer en el manual a ver que saco en limpio.

Nuevamente gracias por la orientación.
  #4 (permalink)  
Antiguo 14/11/2010, 16:51
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Pasar datos entre tablas con diferentes campos

Leyendo y leyendo...

La solución a la actualización de un campo entre tablas (que es mi caso) lo resolví de esta forma:

Código HTML:
UPDATE tabla_1, tabla_2 SET tabla_1.apellido = tablas_2.apellido_paterno
WHERE tabla_1.id = tabla_2.id
Lo dejo por si alguien lo necesita!

Saludos!

Etiquetas: campos, diferentes, pasar, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.