Consultas por Semanas?

07/06/2007 - 17:42 por Ruthenfods Tellez | Informe spam
Tengo esta consulta que me cuenta cuenta los reclamos que hay por semanas,
en una determinada fecha de inicio y de fin.

Select (IsNull(Count(REC_ID),0)) As Numero,DateAdd(day, 2, DateAdd(day, -1 *
datepart(dw, REC_Fecha), REC_Fecha)) As Semana from Reclamo where rec_fecha
between '02/01/2007' and '02/28/2007' and fun_elaborado = 261 GROUP BY
DateAdd(day, 2, DateAdd(day, -1 * datepart(dw, REC_Fecha), REC_Fecha)),
fun_elaborado

El resultado que me da es:

Cantidad Semanas
1 2007-01-29
1 2007-02-12

el problema es de que yo quiero que me presente todas las semanas en ese
periodo y no solo la semana donde encuentre que hubo reclamos, que en la
semanas que no encuentra reclamos me lo ponga en 0, por ejemplo:

1 de la semana 2007-01-29
0 de la semana 2007-02-05
1 de la semana 2007-02-12
0 de la semana 2007-02-19
0 de la semana 2007-02-26

Si podrian ayudarme, gracias.

Saludes.
 

Leer las respuestas

#1 Maxi
07/06/2007 - 21:06 | Informe spam
Hola, entonces deberias tener otra tabla de calendario donde hagas un left
join y si hay nulos que ponga cero, eso lo podes hacer con isnull()


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Ruthenfods Tellez" escribió en el mensaje
news:%23%
Tengo esta consulta que me cuenta cuenta los reclamos que hay por semanas,
en una determinada fecha de inicio y de fin.

Select (IsNull(Count(REC_ID),0)) As Numero,DateAdd(day, 2, DateAdd(day, -1
* datepart(dw, REC_Fecha), REC_Fecha)) As Semana from Reclamo where
rec_fecha between '02/01/2007' and '02/28/2007' and fun_elaborado = 261
GROUP BY DateAdd(day, 2, DateAdd(day, -1 * datepart(dw, REC_Fecha),
REC_Fecha)), fun_elaborado

El resultado que me da es:

Cantidad Semanas
1 2007-01-29
1 2007-02-12

el problema es de que yo quiero que me presente todas las semanas en ese
periodo y no solo la semana donde encuentre que hubo reclamos, que en la
semanas que no encuentra reclamos me lo ponga en 0, por ejemplo:

1 de la semana 2007-01-29
0 de la semana 2007-02-05
1 de la semana 2007-02-12
0 de la semana 2007-02-19
0 de la semana 2007-02-26

Si podrian ayudarme, gracias.

Saludes.



Preguntas similares