de nuevo dando batalla raza, mi siguiente problema es:
estoy migrando una base de datos de una empresa que usa un sistema "X" a la base de datos que usa mi sistema, tengo una tabla origen, la cual contiene un campo fecha, la tabla a la cual voy a pasar esa informacion necesita dos datos de fecha, estas fechas determinan el periodo de vigencia del registro un ejemplo seria:
PRODUCTOA, MATERIAPRIMAA, FECHAINICIO_A, FECHAFIN_A,
PRODUCTOA, MATERIAPRIMAA, FECHAINICIO_B, FECHAFIN_B, cuando se decide cambiar la vigencia para la combinacion PRODUCTOA, MATERIAPRIMAA, se agrega otro registro con distinto periodo de vigencia, estos periodos jamas se deben traslapar, o sea no se puede tener la combinacion :
PRODUCTOA, MATERIAPRIMAA, FECHAINICIO_A, FECHAFIN_A,
PRODUCTOA, MATERIAPRIMAA, FECHAINICIO_A, FECHAFIN_B,
la forma en que se determina la vigencia en la tabla origen es:
PRODUCTOA, MATERIAPRIMAA, FECHA_A,
PRODUCTOA, MATERIAPRIMAA, FECHA_B, la fecha FECHA_B que representa la fecha de inicio de vigencia para el segundo registro, a su vez representa la fecha fin menos un dia del primer registro, lo que yo necesito es un procedimiento que me reste un dia a la siguiente fecha de la tabla origen, siempre y cuando corresponda a la vigencia del mismo productoA y MateriaA,
para restar el dia uso la funcion DATEADD(DAY, -1, FECHA), el lio es como decirle al procedimiento que la FECHA a la cual se le restara el dia es a la siguiente y no a la del registro donde esta posicionado, y como lo explique anteriormente, que la fecha siguiente corresponda a la misma combinacion PRODUCTOA, MATERIAPRIMAA, estoy probando usando una subconsulta, pero aun no doy, cualquier ayuda, como siempre se les agradecera encarecidamente.