Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Sumar fechas Solapadas

Estas en el tema de Sumar fechas Solapadas en el foro de SQL Server en Foros del Web. Buenas. Necesito obtener la suma de horas en rangos de fechas, para ver si cada X días se pasa del máximo de horas permitidos. La ...
  #1 (permalink)  
Antiguo 11/02/2010, 03:01
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 6 meses
Puntos: 0
Sumar fechas Solapadas

Buenas.

Necesito obtener la suma de horas en rangos de fechas, para ver si cada X días se pasa del máximo de horas permitidos. La tabla que tengo esta formada por dos columnas: "fecha" (tipo date) y "minutos" (integer). Supongamos que dicha tabla tiene los siguientes valores:

fecha | minutos
--------------------------
01/03/2010 | 400
02/03/2010 | 533
03/03/2010 | 0
04/03/2010 | 0
05/03/2010 | 589
06/03/2010 | 600
07/03/2010 | 0
08/03/2010 | 128
09/03/2010 | 256
10/03/2010 | 88
11/03/2010 | 400
12/03/2010 | 323
13/03/2010 | 158

Ahora necesito que me devuelva la suma de los minutos en los periodos de 7 días, cuando la fecha que me pasan es el '07/03/2010'. Por lo que el resultado debería ser:

Totalminutos
--------------------------
2122 --(sería la suma desde el 01/03/2010 hasta el 07/03/2010)
1850 --(sería la suma desde el 02/03/2010 hasta el 08/03/2010)
1573 --(sería la suma desde el 03/03/2010 hasta el 09/03/2010)
1661 --(sería la suma desde el 04/03/2010 hasta el 10/03/2010)
2061 --(sería la suma desde el 05/03/2010 hasta el 11/03/2010)
1795 --(sería la suma desde el 06/03/2010 hasta el 12/03/2010)
1353 --(sería la suma desde el 07/03/2010 hasta el 13/03/2010)

LLevo bastante tiempo intentando solucionar esta problema pero no consigo obtener ninguna solución optima. Les agradecería cualquier ayuda al respeto.
  #2 (permalink)  
Antiguo 11/02/2010, 12:47
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Sumar fechas Solapadas

Creo que una posible solución sería la siguiente:

Haces una función que te devuelva los minutos entre dos fechas (correspondería con una de las filas de tu ejemplo anterior), algo así

Minutos=funcion(fecha1, fecha2)

Luego haces otra función o un procedimiento almacenado que la llame tantas veces como sea necesario y sumas los resultados.

Aquí tienes un boceto de como podría ser

TotalMinutos() //Array para guardar los minutos

For i=0 to Dia_n - Dia_1
TotalMinutos(i)= funcion(i, Dia_n+i)
Next
  #3 (permalink)  
Antiguo 12/02/2010, 02:25
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Sumar fechas Solapadas

Gracias por la respuesta. a lo mejor tenía que haberlo indicado antes pero la solución que tengo actualmente implementada es la que me planteas pero a mi me gustaría hacerlo todo en un única consulta.

Gracias otra vez.

Etiquetas: fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.