Ayuda con Group By

13/09/2006 - 20:02 por Omar | Informe spam
Hola a todos, tengo un pequeño problemilla, escribo aquí para ver si
alguien me puede ayudar.

Necesito juntar la suma de 2 valores de 2 tablas distintas en una, a
continuación pongo los datos de cada una de mis tablas

Tabla 1
select no_viaje, no_anticipo, monto_anticipo
from trafico_anticipo
where no_viaje235

15235 8297 1739.130000
15235 8298 1000.000000
15235 8369 173.910000
Suma)13.04

Tabla2
select no_viaje, id_combustible, cantidad_comb
from trafico_combustible
where no_viaje235

15235 10749 440.000000
15235 10817 546.000000
Suma˜6.00

Necesito generar una tabla que tenga los siguientes datos:

no_viaje, monto_total_anticipo, cqntidad_total_comb
15235 2913.04000 986.00000

La consulta que tengo es la siguente:

SELECT ta.no_viaje, sum(ta.monto_anticipo), sum(td.cantidad_comb)
FROM trafico_anticipo ta LEFT OUTER JOIN
trafico_combustible td on ta.no_viaje=td.no_viaje
where ta.no_viaje235
GROUP BY
ta.no_viaje
Order by ta.no_viaje

Pero me arroja resultados incorrectos, lo que sale es:
no_viaje, monto_total_anticipo, cqntidad_total_comb
15235 5826.08000 2958.00000

Espero y alguien me pueda decir que estoy haciendo mal y como debería de
ser esta consulta.

Muchas gracias por cualquier ayuda al respecto.

Preguntas similare

Leer las respuestas

#1 jchavezb
13/09/2006 - 20:30 | Informe spam
Prueba con:

Select a.no_viaje
sum(a.monto_anticipo),
sum(b.cantidad_comb)
Mostrar la cita
trafico_anticipo b
Where a.no_viaje =* b.no_viaje
And a.no_viaje = 15235
GROUP BY a.no_viaje
Order by a.no_viaje

OJO!!! : No cree las tablas ..
Lo otro que puedes hacer pero es mas costoso es sacar los valores por
separado y meterlos en una #Temp, pero no es muy recomendable usar
temporales...
Slds
jch



Omar wrote:
Mostrar la cita
#2 Omar
13/09/2006 - 20:46 | Informe spam
jchavezb escribió:
Mostrar la cita
Que tal muchas gracias por tu ayuda, pero me salen los mismos datos
erroreos.

Traté de hacer ahora lo siguiente:

(SELECT sum(monto_anticipo)
FROM trafico_anticipo
where no_viaje235
GROUP BY
no_viaje)
UNION
(SELECT sum(cantidad_comb)
FROM trafico_combustible
where no_viaje235
GROUP BY
no_viaje)

Aquí si me arrojan los resultados correctos, pero el detalle es que me
los muestra en columna
986.00
2913.00

y yo los necesito en forma de renglón 986.00, 2913.00

Ya que estos datos los necesito juntar con otra tabla, sólo que primero
estoy haciendo las pruebas.
#3 Alejandro Mesa
13/09/2006 - 20:53 | Informe spam
Trata:

declare @no_viaje

set @no_viaje = 15235

select
@no_viaje as no_viaje,
(
select
sum(monto_anticipo)
from
dbo.trafico_anticipo
where
no_viaje = @no_viaje
) as monto_total_anticipo,
(
select
sum(cantidad_comb)
from
dbo.trafico_combustible
where
no_viaje = @no_viaje
) as cantidad_total_comb
go


AMB

"Omar" wrote:

Mostrar la cita
#4 Omar
13/09/2006 - 21:10 | Informe spam
Alejandro Mesa escribió:
Mostrar la cita
Muchas gracias, esta consulta si me muestra los resultados correctos y
como los necesito.

Solo que creo que voy a batallar un poco cuando la junte con la otra
consulta.

Muchas gracias por la ayuda.
#5 Omar
13/09/2006 - 21:11 | Informe spam
Alejandro Mesa escribió:
Mostrar la cita
Muchas gracias, esta consulta si me muestra los resultados correctos y
como los necesito.

Solo que creo que voy a batallar un poco cuando la junte con la otra
consulta.

Muchas gracias por la ayuda.
Ads by Google
Search Busqueda sugerida