You are on page 1of 2

select a.

nama_kategori, count(a), sum(b) FROM (


SELECT
kategori.nama_kategori,
count(kd_op)
FROM pendataan INNER JOIN kategori ON pendataan.kd_op = kategori.id_kategori
WHERE id_tahun = 7
GROUP BY kategori.nama_kategori
ORDER BY kategori.nama_kategori
) as a
inner join(
SELECT kategori.nama_kategori, sum(piutang.pbb_yg_hrs_dibayar_sppt) FROM
pendataan
INNER JOIN piutang ON
pendataan.kd_propinsi = piutang.kd_propinsi and
pendataan.kd_dati2 = piutang.kd_dati2 AND
pendataan.kd_kecamatan = piutang.kd_kecamatan AND
pendataan.kd_kelurahan = piutang.kd_kelurahan AND
pendataan.kd_blok = piutang.kd_blok AND
pendataan.no_urut = piutang.no_urut AND
pendataan.kd_jns_op = piutang.kd_jns_op
INNER JOIN kategori ON pendataan.kd_op = kategori.id_kategori
WHERE pendataan.id_tahun = 7
GROUP BY kategori.nama_kategori
ORDER BY kategori.nama_kategori
) as b
on a.nama_kategori = b.nama_kategori
ORDER BY a.nama_kategori

SELECT
(piutang.kd_kecamatan||'-'||kecamatan.nm_kecamatan) as kecamatan,
piutang.thn_pajak_sppt,
2018 - to_number(piutang.thn_pajak_sppt, '9999') as umur_piutang,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') = 0 THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as lancar,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') >= 1
AND 2018 - to_number(piutang.thn_pajak_sppt, '9999') <= 2
THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as kurang_lancar,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') >= 3
AND 2018 - to_number(piutang.thn_pajak_sppt, '9999') <= 7
THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as diragukan,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') > 7 THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as macet
FROM piutang
INNER JOIN kecamatan ON
piutang.kd_propinsi = kecamatan.kd_propinsi AND
piutang.kd_dati2 = kecamatan.kd_dati2 AND
piutang.kd_kecamatan = kecamatan.kd_kecamatan
GROUP BY
piutang.kd_kecamatan, kecamatan.nm_kecamatan, piutang.thn_pajak_sppt
ORDER BY
piutang.kd_kecamatan, piutang.thn_pajak_sppt DESC
;

SELECT
piutang.thn_pajak_sppt,
2018 - to_number(piutang.thn_pajak_sppt, '9999') as umur_piutang,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') = 0 THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as lancar,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') >= 1
AND 2018 - to_number(piutang.thn_pajak_sppt, '9999') <= 2
THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as kurang_lancar,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') >= 3
AND 2018 - to_number(piutang.thn_pajak_sppt, '9999') <= 7
THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as diragukan,
CASE WHEN 2018 - to_number(piutang.thn_pajak_sppt, '9999') > 7 THEN
sum(piutang.pbb_yg_hrs_dibayar_sppt) ELSE 0 end as macet
FROM piutang
GROUP BY
piutang.thn_pajak_sppt
ORDER BY
piutang.thn_pajak_sppt DESC
;

SELECT
(piutang.kd_kecamatan||'-'||kecamatan.nm_kecamatan) as kecamatan,
sum(piutang.pbb_yg_hrs_dibayar_sppt)
FROM piutang
INNER JOIN kecamatan ON
piutang.kd_propinsi = kecamatan.kd_propinsi AND
piutang.kd_dati2 = kecamatan.kd_dati2 AND
piutang.kd_kecamatan = kecamatan.kd_kecamatan
GROUP BY
piutang.kd_kecamatan, kecamatan.nm_kecamatan
ORDER BY
piutang.kd_kecamatan, piutang.thn_pajak_sppt DESC
;

You might also like