Jumat, 29 November 2019

Case When - PostgreSQL

select a.nomor_register_aplikasi,
c.cicilan_pokok, c.cicilan_bunga, c.tanggal_jatuh_tempo, c.pem_pokok, c.pem_bunga, c.tgl_pembayaran,
(case when c.status_aplikasi=1 then 'Lunas' else 'Belum Lunas' end) status
from adm_permohonan_kredit a, adm_simulasi_permohonan_kredit b, adm_kredit_angsuran c
where a.id=b.id_kredit
and b.id=c.batasan_permohonan_kredit
and c.tanggal_jatuh_tempo >= '2019-06-01'
and a.id_bpr=9
order by a.nomor_register_aplikasi, c.tanggal_jatuh_tempo

---
select (case when a.overdue=0 then 'current'
when a.overdue between 1 and 30 then 'kol1.1'
when a.overdue between 31 and 60 then 'kol1.2'
when a.overdue between 61 and 90 then 'kol1.3'
when a.overdue between 91 and 120 then 'kol2.1'
when a.overdue between 121 and 150 then 'kol2.2'
when a.overdue between 151 and 180 then 'kol2.3'
when a.overdue between 181 and 270 then 'kol3.1'
when a.overdue between 271 and 365 then 'kol3.2'
when a.overdue between 366 and 545 then 'kol4.1'
when a.overdue between 546 and 720 then 'kol4.2'
when a.overdue >=721 then 'kol4.3'
end) koll
from zz_brs_kk_jan a

---- Penjumlahan yang ada nilai menambahkan dan mengurangkan ----
select userid, id_atmr, sum(case when tmpatmr.plusminus = 0 then (nominal*1)
            when tmpatmr.plusminus = 1 then (nominal*(-1)) end)nominalasli,
sum(ppap_khusus) ppap_khusus,
(sum(case when tmpatmr.plusminus = 0 then (nominal*1)
 when tmpatmr.plusminus = 1 then (nominal*(-1)) end)-sum(ppap_khusus)) nominalminusppap,
ma.persen_bobot,
((sum(case when tmpatmr.plusminus = 0 then (nominal*1)
  when tmpatmr.plusminus = 1 then (nominal*(-1)) end)-sum(ppap_khusus))*ma.persen_bobot/100) nilaiatmr
from "temporary".tmp_proses_atmr_awal tmpatmr
left join m_atmr ma on tmpatmr.id_atmr=ma.id
WHERE userid = user_id
group by userid, id_atmr, ma.persen_bobot
order by id_atmr;

Tidak ada komentar:

Posting Komentar

Dynamic Query - SQL Server

Berikut adalah contoh dari bentuk dari Dynamic Query di SQL Server yang dibungkus ke dalam Store Procedure:  USE [Data00] GO SET ANSI_NULLS ...

Popular Posts