SQL Server - Sumar Fechas

   
Vista:

Sumar Fechas

Publicado por Luis (8 intervenciones) el 17/05/2010 20:11:23
Hola.
Necesito realizar una sentencia sql que me calcule a partir de la fecha de compra de un articulo la fecha de mantenimiento proyectada a un rango de fechas espesifico, en algunos casos el articulo se le debe de dar mantenimiento cada 6 meses, 2 meses un año etc. dependiendo del numero colocado en un campo de la tabla.

Ejemplo.
Necesito saver los equipos que devo darles mantenimiento desde 01/01/2010 hasta 30/03/2010

Equipo:
Eq0001 Refrigeradora fecha de compra: 01/01/2009 frecuencia mantto. 3 meses.

Eq0001 01/03/2009
Eq0001 01/06/2009
Eq0001 01/09/2009
Eq0001 01/12/2009
Eq0001 01/03/2010

El sistema de debe de mostrar Eq0001 01/03/2010

Esto lo he realizado con un while y con tablas temporales ya que por estandar no puedo ocupar cursores, pero la cantidad de equipos es grande y se tarda al rededor de 5 min.

Gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

RE:Sumar Fechas

Publicado por Isaias (3180 intervenciones) el 18/05/2010 17:55:07
Todo dependera de tu codigo, como es que estes haciendo dichos calculos.

Aqui la cuestion, es saber si cada que requieres la informacion, la calculas, o bien, cuando el equipo se compra, haces los calculos pertinentes y los guardas en alguna tabla donde llevas los registros de los mantenimientos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sumar Fechas

Publicado por Luis (8 intervenciones) el 18/05/2010 21:41:08
Entiendo tu punto mero no me ayuda en mi problema, por ejemplo tengo equipos que se compraron hace 20;10;1 años,; de los cuales a algunos les toca el mantenimiento cada 12 meses otros cada 6 otros cada 4 dependiendo del tipo de equipo....mi base es de casi 90 mil equipos, entonces tengo una pantalla donde coloco un rango de fechas por ejemplo de 1 al 30 de enero y el sistema me despliega la lista de equipos a los que debo darles mantenimiento.

Lo anterior ya lo hace, pero el query que hice utilice un while anidado para irle sumando la frecuencia hasta llegar a la fecha que e colocado si esta fecha sobrepasa el limite superior no lo toma en cuenta ya que no le tocaria mantenimiento en ese mes.

Pero esta forma es muy tardado para calcular porlo que nesecito crear una sentencia select que realice este calculo mas rapido.... la idea es hacerlo sin utilizar el while.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

RE:Sumar Fechas

Publicado por Isaias (3180 intervenciones) el 18/05/2010 23:06:23
Si entiendo el problema, no es nada facil de resolver por como fue diseñado tu sistema.

No es facil ir recorriendo MILLONES de registros, para ir calculando FECHAS que se deban cumplir entre un rango de fechas (inicio-fin), en base a la fecha de compra de un equipo.

Es por eso mi rezonamiento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sumar Fechas

Publicado por Andy (3 intervenciones) el 21/12/2010 22:40:26
dateadd!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar