Я пытаюсь получить совокупный промежуточный итог, используя функцию LAG и SUM.Столбец, который я хочу суммировать, складывает строки 1 + 2 вместе, но не продолжает, добавляя строки 1, 2, 3, 4 и т. Д. Как только будет достигнута сумма «сброса», промежуточный итог должен быть возвращенк сумме сброса, умноженной на сумму Coinin в той же строке.
В конечном счете, я хочу знать в любой данный момент истории, насколько прогрессируют игровые автоматы для, скажем, уровней 1 и 2 до и после выплаты джекпота.,(Этот запрос только смотрит на уровень 1)
Select Distinct A.AID
,A.BID
,B.Level
,A.Date
,B.Reset
,B.Cap
,Description
,B.RateofProg
,A.Coinin
,LAG(B.RateofProg/100.00 * A.Coinin/100.00) OVER (order by AID, BID, Level) + SUM(B.RateofProg/100 * A.Coinin/100) as RunningTotal
,CASE When C.Eventcode = 10004500 THEN ProgressivePdAmt/100.00 Else 0 end as ProgressivePdAmt
From Payout A
Join Slot_Progression B
on A.Mnum = B.Mnum
Join Events C
on A.Date = C.Date
Where A.Mnum = '102026'
and level = '1'
and A.Coinin > '0'
Group by A.AID, A.BID, B.Level, A.Date, B.Reset, B.Cap, Description, C.ProgressivePdAmt, B.RateofProg, A.Coinin, C.Eventcode
Order by AID, BID, Level