A ver:
Yo entiendo que para una combinación productoA-materiaPrimaA tienes en la tabla vieja una serie de fechas (fechaA, fechaB, fechaC, fechaD) y quieres tener en la nueva tabla:
ProductoA, MateriaPrimA, FechaA, FechaB-1
ProductoA, MateriaPrimA, FechaB, FechaC-1
ProductoA, MateriaPrimA, FechaC, FechaD-1
Si lo he entendido bien, debería funcionar algo así:
Código:
Insert into NuevaTabla Select V1.producto, V1.MateriaPrima, V1.Fecha, Min(DATEADD(DAY, -1, V2.Fecha)) From ViejaTabla As V1
Join ViejaTabla As V2 On V1.producto = V2.producto And V1.MateriaPrima = V2.MateriaPrima And V1.Fecha < V2.Fecha
Group By V1.producto, V1.MateriaPrima, V1.Fecha