Unir intervalos de fechas superpuestas

Necesito unir la tabla A y la tabla B para crear la tabla C.

La Tabla A y la Tabla B almacenan banderas de estado para las ID. Las banderas de estado (A_Flag y B_Flag) pueden cambiar de vez en cuando, por lo que una ID puede contener varias filas, lo que representa el historial de los estados de la ID. Los indicadores para un ID en particular pueden cambiar independientemente entre sí, lo que puede resultar en que una fila en la Tabla A pertenezca a múltiples filas en la Tabla B, y viceversa.

La tabla resultante (Tabla C) debe ser una lista de intervalos de fechas únicos que cubran todas las fechas dentro de la vida útil de los ID (01/01/2008 18/08/2008), y los valores A_Flag y B_Flag para cada intervalo de fechas.

Las tablas reales contienen cientos de ID, y cada ID tiene un número variable de filas por tabla.

Tengo acceso a las herramientas SQL y SAS para lograr el resultado final.

Source - Table A
ID  Start           End     A_Flag
1   01/01/2008  23/03/2008  1
1   23/03/2008  15/06/2008  0
1   15/06/2008  18/08/2008  1

Source - Table B
ID  Start           End     B_Flag
1   19/01/2008  17/02/2008  1
1   17/02/2008  15/06/2008  0
1   15/06/2008  18/08/2008  1

Result - Table C
ID  Start           End  A_Flag B_Flag
1   01/01/2008  19/01/2008  1   0
1   19/01/2008  17/02/2008  1   1
1   17/02/2008  23/03/2008  1   0
1   23/03/2008  15/06/2008  0   0
1   15/06/2008  18/08/2008  1   1

Respuestas a la pregunta(4)

Su respuesta a la pregunta