sql持续时间围绕参考日期

时间:2017-05-31 09:49:29

标签: sql hana

表客户中有一组客户有一些活动,每个客户已经完成了一项特定活动,并且已将其标记为已发生的事件,并且该日期已被选为参考日期。

现在的任务是在参考日期找到客户的记录。例如。在事件发生前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

对许多其他客户来说非常明智

来自社区的任何建议?

1 个答案:

答案 0 :(得分: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);