查找具有不同条件的最大日期

时间:2018-03-11 08:55:41

标签: sql-server

EntityId    Eligibility MeetDate    SourceCode  Status
1             Y           06.11.2017      AB    FNL
1             Y            05.2.2018     AB      NO
1             N            09.3.2018    AB      FNL
3             Y            07.12.2016   AB      FNL
3             N             09.2.2015   AB      FNL
3             Y             07.8.2014   IU      FNL
3             Y              08.7.2017  IU      FNL

条件:

  1. MeetDate列将在输出

    中分为两列

    a)LastDate:这将是源代码'AB'和状态'FNL'的最新Meetdate ----在上一部分完成

    b)InterimDate:这将是源代码'IU'的最新Meetdate,它发生在源代码'AB'和状态'FNL'的最新metdate之后。对于没有IU源代码的记录,interimdate将为null ----在前一部分

    中完成

    c)BusinessDate:如果与步骤a中选择的LastDate相对应的资格为“Y”,则BusinessDate字段将为Meetdate + 6个月。如果与步骤a中选择的LastDate相对应的资格为'N',则BusinessDate字段将为Meetdate + 4个月 - 新部分。虽然实现这个逻辑将会改变。需要实现新的连接和规则。

  2. 那是: 输出如下:

    EntityId    LastDate    InterimDate BusinessDate
    1            09.3.2018      NULL       09-04-2018
    3            07.12.2016    08.7.2017    07-06-2017
    

0 个答案:

没有答案