我希望看到基于两个日期字段在某个时间点处于活动状态的记录:1)Process_DT和2)Process_End_DT。我的表遵循一个通过插入新记录而不是更新记录来保存每个CUST_ID的历史记录的约定。发生这种情况时,新记录将Process_DT设置为now(),并将Process_End_DT设置为31-DEC-9999。然后将原始记录的Process_End_DT设置为now()。因此,在一些情况下,Cust_ID 1在2015年2月27日成为了客户,他们仍然活跃。 Cust_ID 3于2014年4月15日成为客户,但于2014年2月27日结束。使用开始日期和结束日期选择活动行
Cust_Id Process_DT Process_End_DT Active
---------------------------------------------
1 27-FEB-2016 31-DEC-9999 1
3 15-APR-2014 27-FEB-2017 0
我相信这个约定有一个名字......奖励积分,如果你知道它的名字。我想在特定的时间点找到有效的记录。活动列不是表格的一部分,这只是为了澄清。
ID Cust_Id Process_DT Process_End_DT Active
-----------------------------------------------
001 1 27-FEB-2016 31-DEC-9999 1
002 1 01-JAN-2015 27-FEB-2016 0
003 1 04-SEP-2014 01-JAN-2015 0
004 2 01-MAR-2016 31-DEC-9999 1
005 3 15-APR-2014 27-FEB-2017 0
所以我的伪数据,在31-DEC-2016活性的行会是001,004,和005的行活跃在31-DEC-2015将是002和005的行活跃31-DEC-2014将是003和005.