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

¿Como puedo juntar varios select y guardarlos en una tabla?

Estas en el tema de ¿Como puedo juntar varios select y guardarlos en una tabla? en el foro de SQL Server en Foros del Web. Hola a todos, am tengo el siguiente problema tengo tres consultas(select) y necesito conjuntarlos un una sola consulta, y esta guardarla en una tabla. ¿como ...
  #1 (permalink)  
Antiguo 26/07/2011, 09:02
Avatar de swatt  
Fecha de Ingreso: septiembre-2010
Mensajes: 155
Antigüedad: 14 años, 2 meses
Puntos: 4
Pregunta ¿Como puedo juntar varios select y guardarlos en una tabla?

Hola a todos, am tengo el siguiente problema tengo tres consultas(select) y necesito conjuntarlos un una sola consulta, y esta guardarla en una tabla.

¿como pordre hacerlo?, ya que lo intente con select aninados pero me manda el error de que el nombre de las columnas debe ser unico.

tambien les comento que la tabla de las consultas es la misma con los mismos campos, asi como que las consultas que estoy haciendo 2 tiene la siguiente estructura:

SELECT * into tabla_destino FROM base1..producto t1
WHERE EXISTS (SELECT * FROM base2..producto t2 WHERE t1.codigo_producto = t2.codigo_producto)

y la tercera tiene el siguiente:

SELECT * into tabla_destino FROM base1..producto t1
WHERE NOT EXISTS (SELECT * FROM base2..producto t2 WHERE t1.codigo_producto = t2.codigo_producto)

Les agrdecera su ayuda, gracias...
  #2 (permalink)  
Antiguo 26/07/2011, 09:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: ¿Como puedo juntar varios select y guardarlos en una tabla?

Puedes hacerlo con un union, pero tomando en cuenta de que la informacion en las 3 tablas debe de ser parecida(numero de campos, tipo de datos etc)

select dato1, dato2 from
tabla
union all
select dato1, dato2 from
tabla2
union all
select dato1, dato2 from
tabla


Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 26/07/2011, 09:58
Avatar de swatt  
Fecha de Ingreso: septiembre-2010
Mensajes: 155
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: ¿Como puedo juntar varios select y guardarlos en una tabla?

Gracias por tu respuesta me sirvio para corrobrar el avance que llevaba, am pero aora tengo dos dudas mas, la primera es como meto esa union a una tabla???????

Y la segunda: necesito los datos que me resultan de esa union, ya le intente añadinedole un order by pero me marca sintaxis incorrecta junto a union, am ya intente meterla a una vista pero q en vistas no puedo usar order by, ya intente tambn poniendole top 100 percent para que me acepte el order en vista y tampoco...

Que me recomiendan hacer??????

Te agrdesco de antemano, gracias
  #4 (permalink)  
Antiguo 26/07/2011, 10:03
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: ¿Como puedo juntar varios select y guardarlos en una tabla?

insert into new_tabla
select dato1, dato2 from
tabla
union all
select dato1, dato2 from
tabla2
union all
select dato1, dato2 from
tabla

Para ordenarlos, select * from new_tabla order by tu_campo, asi es a una vista no le puedes poner un order by, pero no lo necesitas cuando obtienes datos de tu vista puedes ordenarlos select * from view order by view_field.

Saludos
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 26/07/2011, 10:05
Avatar de swatt  
Fecha de Ingreso: septiembre-2010
Mensajes: 155
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: ¿Como puedo juntar varios select y guardarlos en una tabla?

si gracias, me fue muy util tu ayuda, te agrdesco

saludios

Etiquetas: juntar, select, tabla, campos
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:06.