Problema al dividir por fechas el total de cada mes
Publicado por Alejandro (52 intervenciones) el 12/12/2013 19:08:16
Hola que tal, tengo un problema con una consulta que estoy realizando para sacar un reporte de comparativos de cobranza de cada mes y debe ser mas o menos asi.
Periodo Monto Total del 1 al 16 17 al 24 del 25 al 30
Enero 2013 $ $ $ $
Febrero 2013
Marzo 2013
Abril 2013
Mayo 2013
Junio 2013
Julio 2013
Agosto 2013
Septiembre 2013
Octubre 2013
Noviembre 2013
Diciembre 2013
en el store que estoy haciendo hago un datediff para dividir el monto entre esas fechas pero me salen null aparte que avienta demasiandos registros de los 12 que deben de ser de hecho el periodo y el monto total me funciona bien pero al meter del datediff es no me saca los datos correctos de hecho intente cambiando las fechas pero no me llega la informacion correcta, no se si este haciendo algo mal o de plano cambiar mi idea de la consulta para sacar esa informacion, espero me puedan ayudar a darme una idea de lo que estoy haciendo gracias.
Periodo Monto Total del 1 al 16 17 al 24 del 25 al 30
Enero 2013 $ $ $ $
Febrero 2013
Marzo 2013
Abril 2013
Mayo 2013
Junio 2013
Julio 2013
Agosto 2013
Septiembre 2013
Octubre 2013
Noviembre 2013
Diciembre 2013
en el store que estoy haciendo hago un datediff para dividir el monto entre esas fechas pero me salen null aparte que avienta demasiandos registros de los 12 que deben de ser de hecho el periodo y el monto total me funciona bien pero al meter del datediff es no me saca los datos correctos de hecho intente cambiando las fechas pero no me llega la informacion correcta, no se si este haciendo algo mal o de plano cambiar mi idea de la consulta para sacar esa informacion, espero me puedan ayudar a darme una idea de lo que estoy haciendo gracias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Select Periodo = (Case When Month(Fecha) = 1 Then 'Enero' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 2 Then 'Febrero' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 3 Then 'Marzo' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 4 Then 'Abril' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 5 Then 'Mayo' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 6 Then 'Junio' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 7 Then 'Julio' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 8 Then 'Agosto' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 9 Then 'Septiembre' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 10 Then 'Octubre' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 11 Then 'Noviembre' + ' ' + Cast(Year(Fecha) as varchar(4))
When Month(Fecha) = 12 Then 'Diciembre' + ' ' + Cast(Year(Fecha) as varchar(4))
else '' end),
Sum(Monto) as Monto,
Uno = (Case When datediff(d, Fecha, getdate()) Between 1 and 16 then Monto else null end)
From tbMovtosDet
where Year(Fecha) = @intYear
and Estatus not in (9)
Group by Month(Fecha), Year(Fecha), (Case When datediff(d, Fecha, getdate()) Between 1 and 16 then Monto else null end)
Valora esta pregunta


0