Tengo una tabla de datos que se ve un poco como esto:Iterar a través fechas en SQL
Name StartTime FinishTime Work
Bob 2010-08-03 08:00:00 2010-08-03 12:00:00 4
Bob 2010-08-03 13:00:00 2010-08-03 16:00:00 3
Pete 2010-08-04 08:00:00 2010-08-04 12:00:00 4
Mark 2010-08-04 10:00:00 2010-08-04 12:00:00 2
Ninguno de estos intervalos de tiempo cada vez debe abarcar más de la medianoche.
Quiero escribir SQL que me dará la siguiente salida, dada una entrada Fecha de Inicio de 2010-08-02 y un acabado Fecha de 2010-08-05
Date Name TotalWork
2010-08-03 Bob 7
2010-08-03 Pete 3
2010-08-04 Pete 4
2010-08-04 Mark 2
que podría vivir con, y en hecho en última instancia puede necesitar, para tener cualquier día que no tienen trabajo asociado también estar representados en el conjunto de resultados, tal vez como una fila de la siguiente manera:
2010-08-05 NULL 0
no estoy muy seguro de la manera de recorrer las fechas en SQL de la misma manera que lo haría con otros idiomas.
Para dar un poco de contexto, la salida de esto finalmente se conectará a un control Stacked Chart .Net.
¿Podría alguien darme una pista, un enlace a un tutorial u otra ayuda? De lo contrario, creo que voy a estar jugando con esto por días!
¡Gracias!
Jonathan
Ah ... eso se ve muy bien, gracias. Supongo que si quiero usar los parámetros @SD y @ED, independientemente de si quiero los días faltantes, ¿entonces tengo que construir la tabla temporal? – JonRed
@JonRed, No, si no desea las fechas que faltan, utilice el primer SQL. En ese caso, no necesita las variables T-Sql ni la tabla temporal. Si necesita las fechas faltantes, necesita la tabla temporal y las variables T-Sql son necesarias para completarla. –
Truco realmente bueno ... – Zafer