Hola Gente,
explico: estoy realizando una consulta en la cual se toman dos fechas, y se
hace una consulta a una tabla que tiene dos campos, fechapresentacion y
renuevaa, renuevaa posee 0/null o un valor mayor que 0 (si es 0/null es una
presentacion, si es mayor una renovacion), la consulta debe mostrar por año,
cuantas presentaciones y renovaciones se realizaron y al final el total por
rango
hasta ahora tengo un codigo que pondre al final con unas imagenes que
muestran resultado, el cual posee el error de que funcionan con solo un rango
de fechas, si modifico el rango, la visualizacion de la tabla resultante no
es correcta, aunque el dato total si es correcto
uso sql server 2005
CODIGO:
declare @uno datetime, @dos datetime
set @uno = '20040101'
set @dos = '20101231'
select
TIPOÊSE WHEN renuevaa > 0 then 'RENOVACION' else 'PRESENTACION' end
,total2010=count(CASE WHEN YEAR(fechapresentacion)='2010' THEN 1 ELSE NULL
END)
,total2009=count(CASE WHEN YEAR(fechapresentacion)='2009' THEN 1 ELSE NULL
END)
,total2008=count(CASE WHEN YEAR(fechapresentacion)='2008' THEN 1 ELSE NULL
END)
,total2007 =count(CASE WHEN YEAR(fechapresentacion)='2007' THEN 1 ELSE NULL
END)
,total2006 =count(CASE WHEN YEAR(fechapresentacion)='2006' THEN 1 ELSE NULL
END)
,total2005 =count(CASE WHEN YEAR(fechapresentacion)='2005' THEN 1 ELSE NULL
END)
,total2004 =count(CASE WHEN YEAR(fechapresentacion)='2004' THEN 1 ELSE NULL
END)
,total =count(1)
from marca
where fechapresentacion between @uno and @dos
group by (CASE WHEN renuevaa > 0 then 'RENOVACION' else 'PRESENTACION' end)
Imagen con resultado
http://www.techdevs.cl/Dibujo.PNG
ahora si modifico el rango ..supongamos 2003-2008, la tabla sigue igual
aunque los valores totales cambian
http://www.techdevs.cl/Dibujo2.PNG
especificando mas mi consulta existira alguna manera de hacer que el
resultado de la tabla muestre el rango especificado ?
Leer las respuestas