SQL - Union Sql y ordenar por un campo comun

 
Vista:

Union Sql y ordenar por un campo comun

Publicado por MiSmO (1 intervención) el 21/04/2009 21:15:43
Buenas noches mi problema es el siguiente:

Quiero realizar un Union de 2 tablas y ordenarlo por campo que tiene en comun ambas tablas, seria esto posible? alguien me puede decir como deberia hacerlo? gracias, de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Union Sql y ordenar por un campo comun

Publicado por Cesar Cuncanchun (14 intervenciones) el 22/04/2009 15:19:42
Mira no si es esto lo que necesitas pero no esta dificil:

Esta es una union que tengo y utilizo bastante en mi trabajo:

select INVOICE,BUSINESS_UNIT from PS_SHIP_INF_INV
WHERE SOURCE_BUS_UNIT='AJV01'
AND INVOICE<>''
UNION
SELECT INVOICE,BUSINESS_UNIT FROM PS_BI_HDR
WHERE BUSINESS_UNIT='AJV01'
ORDER BY INVOICE

tiene dos tablas PS_SHIP_INF_INV y PS_BI_HDR y tienen un campo comun INVOICE al final de todas las uniones si tienes 2 , 3 o mas uniones colocas el ORDER BY [campo_comun] que en este caso es INVOICE.

dime si te sirvio o te referias a otra cosa.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Union Sql y ordenar por un campo comun

Publicado por DALSOM (195 intervenciones) el 02/06/2009 15:22:22
BUENAS,
CON EL Union, SI SOLO TIENES UN CAMPO EN COMUN, DEBERAS INICIAR CON LOS CAMPOS DE UNA TABLA, Y LUEGO EMULAR LOS CAMPOS DE LA OTRA, Y EN EL select DE LA SIGUIENTE TABLA, EN EL MISMO ORDEN, DEBERAS EMULAR LOS CAMPOS QUE ESTA SEGUNDA NO TIENE, Y PONER LOS CAMPOS DE ELLAS, EN EL MISMO ORDEN EN QUE LOS PUSISTE EN EL PRIMER Select .

DIGAMOS,

tabla1 (f1 int, f2 char(10), f3 datetime)
tabla2 (c1 int, c4 money, cf datetime)

ENTONCES EL union SERIA ASI :

select f1, f2, f3, cast(0 as money) as c4, cast(null as datetime) as cf
from tabla1 where f1 = 2
union
select c1 as f1, space(10) as f2,cast(null as datetime) as f3, c4, cf
where c1 = 1

SALUDOS,
DALSOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar