Discriminar los meses de años diferentes en consulta

Para hacer una consulta por meses hago lo siguiente:
SELECT datepart(mm,Fecha)AS Mes, sum(Importe)AS Total
FROM [Toot].[dbo].[T_Gastos]
GROUP BY datepart(mm,Fecha)
Mes... Total
1... 500
2... 550
3... 700
.
.
.
El problema es que si introd. Un registro de otro año lo suma con los del mismo mes del otro año
como puedo discriminar por año
La Tabla es la siguiente
T_Gastos:
Importe
Destino
Fecha

1 Respuesta

Respuesta
1
Si lo quieres discriminar para que solo te muestre la información de un año específico, agregale una clausula WHERE
SELECT    datepart(mm,Fecha)AS Mes,
        sum(Importe)AS Total
FROM    [Toot].[dbo].[T_Gastos]
WHERE    YEAR(Fecha) = 2010
GROUP BY datepart(mm,Fecha)
Y si quieres que aparezcan los 2 años pero diferenciados hay que agregarlo en el group by así:
SELECT    YEAR(Fecha) as Año,
        datepart(mm,Fecha)AS Mes,
        sum(Importe)AS Total
FROM    [Toot].[dbo].[T_Gastos]
GROUP BY YEAR(Fecha), datepart(mm,Fecha)
Y el resultado será algo así como:
Año... Mes... Total
2009... 1... 500
2010... 1... 100
2009... 2... 150
2009... 3... 400

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas