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
Título: Re: Consulta por mes
Publicado por: Sagma en Miércoles 28 de Abril de 2010, 22:29
debes usar la condicion WHERE.
SELECT datepart(mm,Fecha)AS Mes, sum(Importe)AS Total FROM [Toot].[dbo].[T_Gastos] WHERE fecha between "01/01/2008" and "31/12/2008" GROUP BY datepart(mm,Fecha)
pero por ahi he escuchado que el BETWEEN es un poco no se en SQL, segun dicen, que me corrijan si estoy mal, hay que usar:
WHERE fecha >= "01/01/2008" AND fecha <= "31/12/2008"
suerte. :comp:
Título: Re: Consulta por mes
Publicado por: ElNapster en Jueves 29 de Abril de 2010, 21:58
Citar
pero por ahi he escuchado que el BETWEEN es un poco no se en SQL, segun dicen, que me corrijan si estoy mal, hay que usar:
Puedes hacer el uso del BETWEEN sin ningun problema en SQL Server ;)
:comp:
Título: Re: Consulta por mes
Publicado por: JaviMarciano en Jueves 29 de Abril de 2010, 22:28
Esa es la manera correcta de hacerlo? no hay alguna forma de hacerlo ingresando solo el año?
Título: Re: Consulta por mes
Publicado por: F_Tanori en Jueves 29 de Abril de 2010, 23:08
A ver si entendi ...
Si agruparas tambien por año obtendrias el resultado deseado creo ...
Código: SQL
SELECT datepart(mm,Fecha)AS Mes,datepart(YYYY,Fecha)'Anio',SUM(Importe)AS Total
FROM T_Gastos
GROUPBY datepart(mm,Fecha),datepart(YYYY,Fecha)
Si quieres un año en especifico
Código: SQL
SELECT datepart(mm,Fecha)AS Mes,datepart(YYYY,Fecha)'Anio',SUM(Importe)AS Total
FROM T_Gastos
WHERE datepart(YYYY,Fecha)=2007
GROUPBY datepart(mm,Fecha),datepart(YYYY,Fecha)
Ordenando
Código: SQL
SELECT datepart(mm,Fecha)AS Mes,datepart(YYYY,Fecha)'Anio',SUM(Importe)AS Total
FROM T_Gastos
WHERE datepart(YYYY,Fecha)=2007
GROUPBY datepart(mm,Fecha),datepart(YYYY,Fecha)
ORDERBY datepart(mm,Fecha),datepart(YYYY,Fecha)
Saludos
Título: Re: Consulta por mes
Publicado por: JaviMarciano en Viernes 30 de Abril de 2010, 05:27