Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2007, 03:50
Avatar de zacktagnan
zacktagnan
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Sacar cantidades totales por meses de trimestre

Hola a tod@s:

Hacía tiempo que no entraba.

No sé como plantear una consulta que necesito trabajando en Sql Server (T-SQL)

El enunciado de la consulta sería:
- Sabiendo el año, el trimestre y el ID de un cliente, sacar de la tabla ALBARANES_C, la suma total de litros para cada mes del trimestre y año dados, y para el cliente demandado sea la suma de cada mes 0 ó mayor de 0.

Es decir si:
@trimestre = 4
@anio = '2007'
@cliente = 4724

El resultado deseado de la consulta debería ser:

FECHA CANTIDAD
=================
Octubre 0,00
Noviembre 150,54
Diciembre 50,40


Yo tengo planteada para ahora la siguiente SQL:
Código:
DECLARE
@trimestre INT, @anio NVARCHAR(4), @cliente INT
SET @trimestre = 4
SET @anio = '2007'
SET @cliente = 4724

SELECT DATENAME(M, @anio + CONVERT(NVARCHAR, MONTH(fecha)) + '01') AS Fecha, SUM(ISNULL(litros, 0)) AS Cantidad
FROM ALBARANES_C
WHERE cliente = @cliente
 AND (YEAR(ALBARANES_C.fecha) = @anio AND fecha BETWEEN (dbo.func_darTrimestreFechaIni(@trimestre, @anio)) AND (dbo.func_darTrimestreFechaFin(@trimestre, @anio)))
GROUP BY MONTH(fecha)
ORDER BY MONTH(fecha)
El resultado que me da es este:
Código:
 FECHA         CANTIDAD
=================
Noviembre	150.54
Diciembre	   50.40
Es decir que como, para ese cliente, en el mes de octubre no se generaron registros en esta tabla de ALBARANES_C, no me saca la línea deseada de ese mes.

¿Cómo podría plantear la consulta para obtener el resultado deseado que planteo arriba?
__________________
Saludos,

zacktagnan.
=================================================