none
Combinar Tablas RRS feed

  • Pregunta

  • Hola gente tengo la siguiente problemática, tengo 3 tablas las cuales poseen los mismos campos pero con diferentes valores y necesito unificar esas 3 tablas en otra tabla ahora un ejemplo

    Tabla 1 con campos Patente,Modelo,Fecha_inscripción.

    Tabla 2 con campos Patente,Modelo,Fecha_inscripción.

    Tabla 3 con campos Patente,Modelo,Fecha_inscripción.

    Luego migrar los datos a una nueva tabla(MegaTabla) la cual posee los mismos campos.

    para lograr que la MegaTabla contenga en su campo Patente los datos de Patente de la tabla 1, 2 y 3, lo mismo para los demas campos.

    como puedo hacerlo ?

    miércoles, 22 de enero de 2020 14:30

Respuestas

  • Hola Sebastian Alcaino:

    En prinicipio tal cuál lo has expuesto basta con utiliazar union all

    create table tabla1
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    
    create table tabla2
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    
    create table tabla3
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    
    create table megatabla
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    go
    insert into tabla1 (patente, modelo, fecha_inscripcion)
    values
    ('a','modelo a', '20200101');
    insert into tabla2 (patente, modelo, fecha_inscripcion)
    values
    ('b','modelo b', '20200101');
    insert into tabla3 (patente, modelo, fecha_inscripcion)
    values
    ('c','modelo c', '20200101');
    go
    insert into megatabla
    select tabla1.patente
    	 , tabla1.modelo
    	 , tabla1.fecha_inscripcion
    	   from tabla1
    union all
    select tabla2.patente
    	 , tabla2.modelo
    	 , tabla2.fecha_inscripcion
    	   from tabla2
    union all
    select tabla3.patente
    	 , tabla3.modelo
    	 , tabla3.fecha_inscripcion
    	   from tabla3;
    go
    select * from megatabla

    Salida

    miércoles, 22 de enero de 2020 14:42
  • Muchas gracias Javi Fernández resulto de maravilla 
    miércoles, 22 de enero de 2020 15:12

Todas las respuestas

  • Hola Sebastian Alcaino:

    En prinicipio tal cuál lo has expuesto basta con utiliazar union all

    create table tabla1
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    
    create table tabla2
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    
    create table tabla3
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    
    create table megatabla
    (patente           VARCHAR(100)
    , modelo            VARCHAR(100)
    , fecha_inscripcion DATETIME
    );
    go
    insert into tabla1 (patente, modelo, fecha_inscripcion)
    values
    ('a','modelo a', '20200101');
    insert into tabla2 (patente, modelo, fecha_inscripcion)
    values
    ('b','modelo b', '20200101');
    insert into tabla3 (patente, modelo, fecha_inscripcion)
    values
    ('c','modelo c', '20200101');
    go
    insert into megatabla
    select tabla1.patente
    	 , tabla1.modelo
    	 , tabla1.fecha_inscripcion
    	   from tabla1
    union all
    select tabla2.patente
    	 , tabla2.modelo
    	 , tabla2.fecha_inscripcion
    	   from tabla2
    union all
    select tabla3.patente
    	 , tabla3.modelo
    	 , tabla3.fecha_inscripcion
    	   from tabla3;
    go
    select * from megatabla

    Salida

    miércoles, 22 de enero de 2020 14:42
  • Muchas gracias Javi Fernández resulto de maravilla 
    miércoles, 22 de enero de 2020 15:12
  • De nada
    miércoles, 22 de enero de 2020 15:36