order by
Publicado por Damian (26 intervenciones) el 30/10/2008 18:25:49
Tengo una consulta donde me trae los totales de ventas por clientes y estos mismos pueden estar en facturacion o en pedidos, por eso el uso de union la consulta me devuelve bien los registros, mas alla que no me suma ambos select(yo lo manipulo desde visual basic), el problema que tengo es que el order by solo me trae por partes o sea en este caso yo quiero que me traiga primero Jimenez Maria que sumando ambas tablas es al que mas se le vendio pero me trae primero GONZALEZ SA, que solo esta en facturacion. Mi consulta es:
select Case when(C.Apellido) is null then C.NombreContacto else C.Apellido+','+C.Nombre end
Cliente,sum(F.TotalFact) from Facturacion F,Clientes C where C.CodCli=F.CodCli and
(F.Comprobante='FA' or F.Comprobante='ND') group by C.Apellido,C.NombreContacto,C.Nombre
union
select Case when(C.Apellido) is null then C.NombreContacto else C.Apellido+','+C.Nombre end Cliente,
sum(P.TotalPed) from Pedidos P,Clientes C where C.CodCli=P.CodCli and (P.Facturado='NO') group by
C.Apellido,C.NombreContacto,C.Nombre order by 2 desc,1
Y el resultado segun lo que tengo cargado es:
Clientes Totales
GONZALES SA 537.6
Jimenez,Maria 452.9
Massa,Julio 327
Jimenez,Maria 227.6
Massa,Julio 196.5
SUAREZ S.A 107.7
Ferreyra,Natalia 39.5
O sea en realidad esta bien, pero yo quisiera juntar los clientes repetidos y sumarlos, y asi el order by me lo trae como quiero. Gracias
select Case when(C.Apellido) is null then C.NombreContacto else C.Apellido+','+C.Nombre end
Cliente,sum(F.TotalFact) from Facturacion F,Clientes C where C.CodCli=F.CodCli and
(F.Comprobante='FA' or F.Comprobante='ND') group by C.Apellido,C.NombreContacto,C.Nombre
union
select Case when(C.Apellido) is null then C.NombreContacto else C.Apellido+','+C.Nombre end Cliente,
sum(P.TotalPed) from Pedidos P,Clientes C where C.CodCli=P.CodCli and (P.Facturado='NO') group by
C.Apellido,C.NombreContacto,C.Nombre order by 2 desc,1
Y el resultado segun lo que tengo cargado es:
Clientes Totales
GONZALES SA 537.6
Jimenez,Maria 452.9
Massa,Julio 327
Jimenez,Maria 227.6
Massa,Julio 196.5
SUAREZ S.A 107.7
Ferreyra,Natalia 39.5
O sea en realidad esta bien, pero yo quisiera juntar los clientes repetidos y sumarlos, y asi el order by me lo trae como quiero. Gracias
Valora esta pregunta


0