SQL - la fecha de finde un registro es la fecha de inicio de otro

 
Vista:

la fecha de finde un registro es la fecha de inicio de otro

Publicado por Ricardo (4 intervenciones) el 02/03/2023 15:05:46
Muy buen día me gustaría que me ayudaran con una consulta en SQL, tengo una tabla que tiene fecha de inicio en formato fecha y tengo un campo que se llama duración y esta en milisegundos la idea es que la fecha de inicio del primer registro se suma la duración y tenemos fecha de fin, pero esta fecha de fin es la fecha de inicio del siguiente registro a la cual se le suma la duración y obtenemos la fecha de fin del registro actual y así va cambiando conforme encuentra mas registros.


registroUNO Fecha de Inicio Duracion Fecha de Fin

reg01 19/08/1985 10:00:00 900000 19/08/1985 10:15:00
reg02 19/08/1985 10:15:00 600000 19/08/1985 10:25:00
reg03 19/08/1985 10:25:00 300000 19/08/1985 10:30:00
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 gilman
Val: 184
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

la fecha de finde un registro es la fecha de inicio de otro

Publicado por gilman (103 intervenciones) el 03/03/2023 08:42:50
A ver si he entendido.
Tienes una tabla donde la fecha fin de un registro es la fecha de inicio del siguiente, y además en cada registro tienes un campo indicando la diferencia entre la fecha de fin y la de inicio.
Y ahora lo importante:
¿Cual es la pregunta?
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

la fecha de finde un registro es la fecha de inicio de otro

Publicado por Ricardo (4 intervenciones) el 03/03/2023 14:41:19
la pregunta es como generar las dos columnas de fecha de inicio y fecha de fin a partir de la duración de cada registro?
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 gilman
Val: 184
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

la fecha de finde un registro es la fecha de inicio de otro

Publicado por gilman (103 intervenciones) el 04/03/2023 08:59:07
Sigo sin tenerlo muy claro.
¿Te refieres a esto?:
Tienes un registro abierto, es decir, con fecha inicio pero sin duración ni, naturalmente fecha fin, y lo cierras, es decir indicas la duración.
Pues si el motor de tu base de datos lo permite la solución para cerrar ese registro, es decir, al indicar la duración, calcular la fecha fin es muy facil, mediante un trigger, la sintaxis dependera de cada BD, por ejemplo en Oracle:

1
2
3
4
5
CREATE TRIGGER SETFECHAFIN ON MITABLA AFTER UPDATE OF DURACION
BEGIN
	:NEW.FECHAFIN:=:NEW.FECHAINICIO + DURACION / 129600000;
END;
/
En cuanto a insertar un nuevo registro, abierto, con la fecha inicio la misma que el registro, en Oracle tabmién es posible hacerlo mediante triggers, pero es bastante mas complicado, así que si me confirmas que es ésta tu situación, y que estás trabajando con Oracle, te lo muestro.
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

la fecha de finde un registro es la fecha de inicio de otro

Publicado por Ricardo (4 intervenciones) el 07/03/2023 23:41:01
creo que no me explique bien tengo varios registros con una duración ejemplo registro1 duración 10 y ejemplo2 con duración 20 ambos tienen la misma fecha de inicio 19/08/2023 06:00:00 lo que necesito es que a partir de la duración se calcule la fecha de inicio y de fin de los dos registros ejemplo registro1 fecha de inicio 19/08/2023 06:00:00 se suma la duración y tengo fecha de fin 19/08/2023 06:10:00, registro2 fecha de inicio 19/08/2023 06:10:00 y fecha de fin 19/08/2023 06:30:00 donde termina la fecha de fin del anterior registro es la fecha de inicio del registro actual
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

la fecha de finde un registro es la fecha de inicio de otro

Publicado por Ricardo (4 intervenciones) el 08/03/2023 21:01:27
muchas gracias eso si me funciona ahora el detelle es que la fecha de fin calculada sea la fecha de inicio de el registro siguiente y se le sumen los milisegundos para calcular la fecha de fin y generar una nueva fecha de inicio de un nuevo registro que esta en la tabla
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 gilman
Val: 184
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

la fecha de finde un registro es la fecha de inicio de otro

Publicado por gilman (103 intervenciones) el 09/03/2023 08:48:43
Para eso necesitarías crear un Procedimiento Almacenado, como dices que DATEADD te sirve entiendo que tu BD no es Oracle, la forma de crearlo y el código que debas emplear dependerá de la bd que uses.
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