Мне нужно присоединиться к таблице A и таблице B, чтобы создать таблицу C.
В таблицах A и Таблице B указаны флаги состояния для идентификаторов. Флаги состояния (A_Flag и B_Flag) могут время от времени меняться, поэтому один ID может содержать несколько строк, которые представляют историю статусов идентификаторов. Флаги для конкретного идентификатора могут изменяться независимо друг от друга, что может привести к тому, что одна строка в таблице A будет принадлежать нескольким строкам в таблице B и наоборот.
Результирующая таблица (таблица C) должна быть списком уникальных диапазонов дат, охватывающих каждую дату жизни ID (01/01/2008-18/08/2008) и значения A_Flag и B_Flag для каждого диапазона дат.
Фактические таблицы содержат сотни идентификаторов с каждым идентификатором, имеющим различное количество строк в таблице.
У меня есть доступ к инструментам SQL и SAS для достижения конечного результата.
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