Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/11/2007, 20:11
xema
 
Fecha de Ingreso: febrero-2002
Ubicación: Valencia - España
Mensajes: 488
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta cual es la mejor manera de trasladar estos datos entre tablas

Hola, a ver si consigo explicarme correctamente.

Voy a poner datos de ejmplo para explicarme bien

en una BBDD tengo 2 tablas relacionadas

Padre e Hijo

Padre:

Cod, Nombre, Apellido1, Apellido 2, Dirección

Hijo:

Id, Cod_padre, Nombre, Apellido1, Apellido2

Con lo cual un padre puede tener 0, 1, 2, 3, etc hijos

Ahora tengo una nueva BBDD donde esas 2 tablas van ha ir de otra forma muy diferente

Padre:

Cod, Nombre, (otros campos)

Hijo:

Id, field, txt, Cod_Padre

Campos:

field, type, Description, (otros campos)

Asi que por ejemplo con Datos

Padre: 001, Pepe, Perez, Fernandez
Hijo: 001, 001, Pepito, Perez, Lopez
002, 001, Pepita, Perez, Lopez

Y ahora tendria los siguientes datos:

Padre: 001, Pepe, Perez, Fernandez
Campos:
001, 1, Nombre_h1
002, 1, Apellido1_h1
003, 1, Apellido2_h1
004, 1, Nombre_h2
005, 1, Apellido1_h2
006, 1, Apellido2_h2
....

Hijo:
001, 001, Pepito, 001
002, 002, Perez, 001
003, 003, Lopez, 001
004, 004, Pepita, 001
005, 005, Perez, 001
006, 006, Lopez, 001

Y estoy volviendome loco para hacer la consulta que me permita reordenar los datos para las nuevas tablas

La de Padre y Campos está claro y ya las he hecho, pero la de Hijo no se me ocurre el Id es autoincrement he probado docenas de sentencias, pero siempre estoy haciendo algo mal por ejemplo pensé esto:

Código:
INSERT INTO HijoB (field, txt, Cod_Padre) SELECT 1, Nombre, Cod_padre FROM HijoA group by Cod_padre
hacer una sentencia así para cada campo de la tabla HijoA, pero claro, así todos los nombre tendrían el código 1 en vez de 1, 4, 7, 10, etc.... y lo mismo con el resto de campos. Estoy muy verde en MYSQL solo di unas clases por encima para hacer lo básico y esta sentencia se me escapa, he estado varios días mirando los manuales a ver si veia alguna solución pero no encuentro como hacer esto correctamente.

Me he explicado, o lo e liado todo demasiado?
__________________
webmaster de xematuning el mejor tuning español con más de 25000 fotos sobre el mundo del tuning, videos, salvapantallas, fondos y mucho más no lo dudes más y visítala!!!