小编gee*_*ees的帖子

加入重叠的日期范围

我需要连接表A和表B来创建表C.

表A和表B存储ID的状态标志.状态标志(A_Flag和B_Flag)可以不时更改,因此一个ID可以包含多行,表示ID状态的历史记录.特定ID的标志可以彼此独立地改变,这可以导致表A中的一行属于表B中的多行,反之亦然.

结果表(表C)需要是唯一日期范围的列表,其中包括ID生命周期中的每个日期(01/01/2008-18/08/2008),以及每个日期范围的A_Flag和B_Flag值.

实际表包含数百个ID,每个ID每个表具有不同的行数.

我可以访问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
Run Code Online (Sandbox Code Playgroud)

sql sas

12
推荐指数
1
解决办法
6412
查看次数

标签 统计

sas ×1

sql ×1