Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2012, 11:33
Avatar de Huasi
Huasi
 
Fecha de Ingreso: mayo-2007
Mensajes: 83
Antigüedad: 17 años, 5 meses
Puntos: 2
Select Union con Group By

Hola amigos que cuentan, yo estoy algo complicado intentando armar una query y quizas me puedan dar una mano. Tengo una sola tabla: Compras con los campos: Id, Fecha, Tasa1, Tasa2, Neto1, Neto2. El valor de la tasa suele repetirse, por lo general se utilizan 4 o 5 valores. Necesito crear un select para obtener la sumatoria de netos para determinada Tasa. Es decir, unificar los valores iguales de Tasa1 y Tasa2 y obtener la sumatoria de netos para cada valor. El reporte quedaria algo asi:

Tasa Neto
0,00 200
10,50 490
21,00 350
27,00 615

Esta es la query que estoy armando
Código:
ALTER PROCEDURE dbo.prueba
(@EmpresaId int, @Desde datetime, @Hasta datetime)
As
Select Distinct Tasa1, Sum(Neto1) From Compras
Where (Tasa1 is not null) And (Fecha Between @Desde And @Hasta) And (EmpresaId = @EmpresaId)
Group By Tasa1
Union
Select Distinct Tasa2, Sum(Neto2) From Compras
Where (Tasa2 is not null) And (Fecha Between @Desde And @Hasta) And (EmpresaId = @EmpresaId)
Group By Tasa2
El problema que estoy teniendo es que al agregar el Sum(Neto) me duplica los valores de Tasa, cosa que al consultar unicamente la Tasa no ocurria. Espero me puedan dar una mano, saludos...