2017-05-31 31 views
0

表顾客中有一些顾客在进行某些活动,每个顾客都执行了一个特定的活动,并且它已被标记为发生的事件并且日期已被选为参考日期。参考日期周围的sql持续时间

现在的任务是查找参考日期附近的客户记录。例如。在事件发生前10天或事件发生后20天或5天前和5天后选择每个客户的活动。

表如下所示:

Customer ID| activities | date 
1   | a1   | date1 
1   | a2   | date1 
1   | a3   | date2 
1   | a1   | date2 
. 
1   | a-sp  | date22 ---> a-sp is an event occurred and the date is Ref. Date 
. 
1   | a1000  | date30 

像明智很多其他客户

从社区有什么建议?

+0

提及数据库/版本,样本数据,您期望的输出,如果你至今尝试新鲜事物。 – Utsav

+0

我正在使用SAP/HANA,对不起,我没有示例数据。 – Sai

回答

2

你可以做这样的事情:

select t.*, e.event_date 
from t join 
    (select t.customerid, t.date as event_date 
     from t 
     where t.activity = 'a-sp' 
    ) e 
    on t.date >= add_days(e.event_date, -5) and 
     t.date <= add_days(e.evant_date, 5); 
+0

谢谢戈登!它的帮助! – Sai