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

unir dos selects con cantidad de campos distintos

Estas en el tema de unir dos selects con cantidad de campos distintos en el foro de SQL Server en Foros del Web. Hola a todos. Tengo dos consultas, en una tnego un select de varios campos (la mayoría calculados) y tengo dos selects más de un campo ...
  #1 (permalink)  
Antiguo 14/03/2011, 12:06
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
Pregunta unir dos selects con cantidad de campos distintos

Hola a todos.
Tengo dos consultas, en una tnego un select de varios campos (la mayoría calculados) y tengo dos selects más de un campo cada uno, estos últimos campos sob obtenidos de una consulta bastante grande y compleja.
Cómo podría unir los campos de estos 3 selects de modo q me quede en una sóla fila?? Muchas gracias de antemano.
__________________
Tarecito
  #2 (permalink)  
Antiguo 14/03/2011, 13:17
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: unir dos selects con cantidad de campos distintos

Union??

Select bla bla bla from tabla
union
select bla bla bla from tabla
union
select bla bla bla 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 14/03/2011, 13:39
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
Exclamación Respuesta: unir dos selects con cantidad de campos distintos

como dije, son selects con cantidades de campos distintos, el primero tiene 15 campos (una sola fila) y los otros dos sólo tienen uno
__________________
Tarecito
  #4 (permalink)  
Antiguo 14/03/2011, 13:43
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: unir dos selects con cantidad de campos distintos

Entonces con un join por algun campo que compartan o asi no sirve??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 14/03/2011, 14:13
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 5 meses
Puntos: 1
Exclamación Respuesta: unir dos selects con cantidad de campos distintos

es q tampoco tienen algún campo en común como para hacer un join
__________________
Tarecito
  #6 (permalink)  
Antiguo 14/03/2011, 16:35
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: unir dos selects con cantidad de campos distintos

Full Outer Join

Saludos,
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego
  #7 (permalink)  
Antiguo 15/03/2011, 10:23
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: unir dos selects con cantidad de campos distintos

Puedes probar asi:

select * from
(select sumas from tablas) t1, (select mas sumas from tablas) t2, (select mas sumas from tablas) t3)


Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 15/03/2011, 11:12
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: unir dos selects con cantidad de campos distintos

Libras, una duda, ¿has probado esa recomendacion?, la verdad se me hace del todo extraña
__________________
MCTS Isaias Islas
  #9 (permalink)  
Antiguo 15/03/2011, 11:51
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: unir dos selects con cantidad de campos distintos

Considera el Full Outer Join ...

Saludos
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego
  #10 (permalink)  
Antiguo 15/03/2011, 14:25
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: unir dos selects con cantidad de campos distintos

Cita:
Iniciado por iislas Ver Mensaje
Libras, una duda, ¿has probado esa recomendacion?, la verdad se me hace del todo extraña
La verdad no he probado la recomendacion, como el compañero Tarecito no ha puesto datos de sus tablas no se sabe como acomodar la consulta.....

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 15/03/2011, 17:14
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: unir dos selects con cantidad de campos distintos

De nuevo, prueba el Full Outer Join
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego
  #12 (permalink)  
Antiguo 16/03/2011, 09:56
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: unir dos selects con cantidad de campos distintos

Cita:
Iniciado por SDEK Ver Mensaje
De nuevo, prueba el Full Outer Join
Por favor ponme un ejemplo donde se diferencia FULL OUTER JOIN de FULL JOIN.
Gracias!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #13 (permalink)  
Antiguo 16/03/2011, 11:57
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: unir dos selects con cantidad de campos distintos

"La sentencia full outer join de SQL (como lenguaje de consulta) extrae todos los registros de las tablas relacionadas, independientemente de si sus relaciones aparecen o no en la otra tabla"

Si no tienes campos comunes, prueba generando un ROW_NUMBER() para cada consulta, por ejemplo:
Código SQL:
Ver original
  1. SELECT a.campo1,a.campo2,a.campo3,b.select2,c.select3
  2. FROM
  3. (
  4. SELECT ROW_NUMBER() OVER (ORDER BY Tabla1.campo1 ASC) AS id, Tabla1.campo1, Tabla1.campo2, Tabla1.campo3
  5. FROM Tabla1
  6. ) a
  7. FULL OUTER JOIN
  8. (
  9. SELECT ROW_NUMBER() OVER (ORDER BY Tabla2.campo1 ASC) AS id, Tabla2.campo1
  10. FROM Tabla2
  11. ) b ON b.id=a.id
  12. FULL OUTER JOIN
  13. (
  14. SELECT ROW_NUMBER() OVER (ORDER BY Tabla3.campo1 ASC) AS id, Tabla3.campo1
  15. FROM Tabla3
  16. ) c ON b.id=c.id
Saludos,
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego

Última edición por SDEK; 16/03/2011 a las 11:58 Razón: resaltado de código agregado
  #14 (permalink)  
Antiguo 16/03/2011, 13:55
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: unir dos selects con cantidad de campos distintos

Eso ya lo sabia. Lo que no se cual es la diferencia entre full outer join y full join.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: campos, cantidad, distintos, selects
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 11:08.