Суммарная сумма за два года в SQL - PullRequest
0 голосов
/ 12 марта 2020

В этой таблице указаны полис №, дата и премия, выплаченная на эту дату:

Policy No   Date       Premium 
-------------------------------
ABC         1-Jan-20    $100 
ABC         1-Feb-19    $343 
XYZ         4-Aug-17     $78 
XYZ         3-Sep-15     $56 
XYZ        19-Feb-19     $98 
.         .  
.         .  
.         .  

Нам нужно найти полис недопустимо, премия «Дата мудрая» выплачивается за последние два года с указанной даты.

Пример вывода:

Policy No    Date         Premium 
 -------------------------------
ABC         1-Jan-20      $443
ABC         1-Feb-19      $343 
XYZ         4-Aug-17      $134 
XYZ         3-Sep-15      $56 
XYZ         19-Feb-19     $232
.            .            .
.            .

1 Ответ

0 голосов
/ 12 марта 2020

Вы можете использовать что-то подобное, если скользящая сумма равна сумме предыдущих двухлетних платежей на конкретную дату текущего платежа:

select a.[Policy No], a.[Date], sum(b.Premium) as amount from
payment a,
payment b join a on a.[Policy No] = b.[Policy No] and
    a.[Date] >= dateadd(year, -2, b.[Date])
group by a.[Policy No], a.[Date]
...