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

Ayuda en migracion de datos

Estas en el tema de Ayuda en migracion de datos en el foro de SQL Server en Foros del Web. Buenos dias. Necesito ayuda para hacer una migracion de datos desde una tabla antigua de clientes a una nueva, tambien de clientes pero donde se ...
  #1 (permalink)  
Antiguo 08/03/2010, 08:19
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación Ayuda en migracion de datos

Buenos dias. Necesito ayuda para hacer una migracion de datos desde una tabla antigua de clientes a una nueva, tambien de clientes pero donde se han separado los domicilios, tal como se muestra en la siguiente figura.



Necesito migrar los datos de Apellido y Nombre a la tabla nueva de clientes, y todos los datos de domicilio a su propia tabla, vinculando el id de domicilio generado con el cliente correspondiente.

Espero que se entienda, la misma situación tambien se refleja en el esquema. El motor de base de datos es un SQL Server 2005.

Saludos... Gracias!
  #2 (permalink)  
Antiguo 08/03/2010, 10:13
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda en migracion de datos

¿Cual es el problema?, ¿Esto indica que CLIENTE podria tener mas de un domicilio?, ¿O porque colocarlo en otra tabla?
  #3 (permalink)  
Antiguo 08/03/2010, 10:24
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Ayuda en migracion de datos

cada cliente tiene que tener su propio domicilio y necesito colocarlo en otra tabla pues asi esta realizado el nuevo esquema de la base, el problema es que nose como lograr ese pasaje mediante script.
  #4 (permalink)  
Antiguo 08/03/2010, 12:14
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Ayuda en migracion de datos

Por qué no muestras que tienes avanzado?
Desde ya necesitarás 2 INSERT INTO.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 08/03/2010, 13:04
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Ayuda en migracion de datos

Yo tengo esto armado pero no creo que funcione, tal vez exista alguna otra manera....

Código:
Insert into Domicilios
Select Domicilio, Localidad, CodigoPostal, Region From Clientes_Old

Código:
Insert into Clientes_NEW
Select Apellido, Nombre,idDomicilio
from ClientesOld a inner join 
Domicilios b on a.domicilio = b.domicilio
Where a.domicilio = b.domicilio and a.Localidad =b.Localidad and a.CodigoPostal=b.Codigo Postal and a.Region=b.Region
  #6 (permalink)  
Antiguo 08/03/2010, 16:02
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda en migracion de datos

Sin entrar en discusion, creo que si cada cliente, solo tiene UN domicilio, no veo porque la separacion, claro, sin conocer la necesidad de hacerlo.
  #7 (permalink)  
Antiguo 09/03/2010, 05:53
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Ayuda en migracion de datos

la separacion es solo una cuestion de negocios de la empresa de donde trabajo. ya encontre la solucion. Gracias igualmente. Por si alguna vez alquien tiene que hacer lo mismo les dejo estos dos scripts:

1° Insertar Domicilios
Código:
Insert into Domicilios
Select Distinct Domicilio, Localidad, CodigoPostal, Region From Clientes_Old
2° Insertar Clientes
Código:
Insert into Clientes_NEW
Select Apellido, Nombre,idDomicilio
from Clientes_Old a inner join 
Domicilios b on a.domicilio = b.domicilio
Where a.domicilio = b.domicilio and a.Localidad =b.Localidad and a.CodigoPostal=b.CodigoPostal and a.Region=b.Region

Etiquetas: Ninguno
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 00:33.