Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select n.id, n.kwota, n.termin, w.id, w.kwota, w.data_wplaty, s.dzien, s.stawka,
- IIF(w.data_wplaty <= n.termin, 0, s.stawka * 1) as rzecz_stawka,
- ROW_NUMBER() OVER(partition by w.id order by s.dzien) as FrameLineNum,
- --COUNT(*) OVER(partition by w.id) as TotalFrameLines,
- (SELECT * FROM PoprzedniaWplata(n.id, w.id)) as poprzednia_wplata,
- (SELECT * FROM PoczatekZakresu(n.id, w.id, s.dzien)) as data_od,
- (SELECT * FROM KoniecZakresu(n.id, w.id, s.dzien)) as data_do,
- (SELECT * FROM RoznicaDniZakresu(n.id, w.id, s.dzien)) as roznica_dni,
- (SELECT * FROM RoznicaDniZakresu(n.id, w.id, s.dzien)) * IIF(w.data_wplaty <= n.termin, 0, s.stawka * 1)/365/100 as wsp_odsetek_za_okres,
- (SELECT * FROM CzyKoniecWplaty(n.id, w.id, s.dzien)) as czy_koniec_wplaty,
- (SELECT * FROM OdsetkiPoWplacie(n.id, w.id, s.dzien)) as odsetki_po_wplacie,
- (SELECT * FROM CzyPierwszaWplata(n.id, w.id)) as czy_pierwsza_wplata,
- (SELECT * FROM Obciazenia(n.id, w.id, s.dzien)) as obciazenia,
- (SELECT * FROM Uznania(n.id, w.id, s.dzien)) as uznania,
- (SELECT * FROM Obciazenia(n.id, w.id, s.dzien)) - (SELECT * FROM Uznania(n.id, w.id, s.dzien)) as delta_bez_ods,
- SUM((SELECT * FROM Obciazenia(n.id, w.id, s.dzien)) - (SELECT * FROM Uznania(n.id, w.id, s.dzien)))
- OVER (ORDER BY w.data_wplaty, s.dzien) as sum_delta_bez_ods,
- (
- (
- SUM
- ((SELECT * FROM Obciazenia(n.id, w.id, s.dzien)) - (SELECT * FROM Uznania(n.id, w.id, s.dzien)))
- OVER (ORDER BY w.data_wplaty, s.dzien)
- ) + (SELECT * FROM Uznania(n.id, w.id, s.dzien))
- ) * (1 + (SELECT * FROM OdsetkiPoWplacie(n.id, w.id, s.dzien)))
- as suma_delta_z_ods
- from naleznosci as n
- inner join wplaty as w
- on n.id = w.naleznosci_id
- inner join stawki as s
- on ( s.dzien < w.data_wplaty AND s.dzien >=
- (
- select top 1 * from
- (
- select termin from naleznosci as nn
- where nn.id = n.id
- -- AND termin < ( select www.data_wplaty from wplaty as www where www.id = w.id )
- union
- select ww.data_wplaty from wplaty as ww
- where ww.data_wplaty < ( select www.data_wplaty from wplaty as www where www.id = w.id )
- AND ww.naleznosci_id = n.id
- ) as squery
- order by termin desc
- ) ) OR s.dzien = -- wyznaczanie pierwszej obowiazujacej stawki po poprzedniej wplacie
- (
- select top 1 ss.dzien from stawki as ss
- where ss.dzien <=
- (
- select top 1 * from
- (
- select termin from naleznosci as nn
- where nn.id = n.id
- -- AND termin < ( select www.data_wplaty from wplaty as www where www.id = w.id )
- union
- select ww.data_wplaty from wplaty as ww
- where ww.data_wplaty < ( select www.data_wplaty from wplaty as www where www.id = w.id )
- AND ww.naleznosci_id = n.id
- ) as squery
- order by termin desc
- )
- order by ss.dzien desc
- )
- where n.id = 28
- order by w.data_wplaty asc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement