La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/SQL/997900-Crear-una-vista-y-juntar-registros-de-2-tablas.html

Crear una vista y juntar registros de 2 tablas

Crear una vista y juntar registros de 2 tablas

Publicado por Eduardo Martinez (4 intervenciones) el 09/07/2008 20:42:58
Que tal estimados,
Recurro a ustedes por que tengo la siguiente pregunta.
Necesito crear una vista en SQL, donde pueda yo juntar 2 tablas, de una misma base de datos, por registros. Contiene los mismos campos, pero registros diferentes y necesito juntarlas.

la sintaxis que yo estoy tratando de hacer esta, pero no me funciona:

CREATE VIEW dbo.vAuto
AS SELECT dbo.auto2005.*, dbo.auto2006.*
FROM dbo.auto2005, dbo.auto2006

Me pueden ayudar por favor?
Mucho se los agradecere...
Saludos coordiales
Eduardo Martínez

RE:Crear una vista y juntar registros de 2 tablas

Publicado por pacopaz (143 intervenciones) el 09/07/2008 23:11:14
Que es lo que quieres hacer? que los registros de 2005 y 2006 compartan una misma fila, o que se cree una vista con la misma estructura de las tablas, pero con las dos tablas unidas?
Para el primer caso la respuesta es lo que tienes, aunque deberían corresponderse entre si, por que si no estás multiplicando los registros de 2005 por los registros de 2006.
Si, por el contrario, es que los quieres todos los registros, cada uno de 2005 y 2006 dentro de una vista, pero en un sólo registro, la respuesta es esta:

CREATE VIEW Auto
as
select
*
from
dbo.auto2005
union all
select
*
from
dbo.auto2006

Espero que te sirva.

Saludos.

RE:Crear una vista y juntar registros de 2 tablas

Publicado por Eduardo Martinez (4 intervenciones) el 10/07/2008 02:19:12
Estimado Pacopaz,
Muchisimas gracias, lo segundo es lo que realmente queria hacer, solamente queria juntar los registros del 2005 y 2006, ya que ambas tablas tienen las mismas variables.
Una pregunta, si alguna de las bases tuviera una o dos variables que la otra no tiene, supongo que crearia dichas variables y le podria un valor NULL para aquellos registros que no se les aplicó esa variables, cierto?

Muchas gracias por tu ayuda.
Saludos Coordiales
Eduardo Martinez

RE:Crear una vista y juntar registros de 2 tablas

Publicado por pacopaz (143 intervenciones) el 10/07/2008 17:40:20
Si te refieres a variables como campos en las tablas es incorrecto.
Digamos que tienes un par de tablas así:
Tabla1(Campo1, Campo2, Campo3)
Tabla2(Campo1, Campo2, Campo3, Campo4)

Tendrías que hacer lo siguiente:

select
Campo1, Campo2, Campo3, Null as Campo4
from
Tabla1
union all
select
Campo1, Campo2, Campo3, Campo4
from
Tabla2

La unión de dos queries requiere de que la cantidad de campos sea la misma y que los tipos de datos para cada campos sean los mismos.
Si requieres de más información sobre el comando 'union', refiérete a esta página:
http://msdn.microsoft.com/es-es/library/ms174854.aspx

Espero que te sirva.

Saludos.