--- convert kolom to row
---data asli
sandipos0101 sandipos0201 sandipos0202 dst
16 5 100 5 4 83 98 10
-- menjadi
sandi rasio
0101 16
0201 5
0202 100
0203 5
0401 4
0402 83
0501 98
0502 10
SELECT
unnest(array['0101', '0201', '0202', '0203', '0401', '0402', '0501', '0502']) AS sandi,
unnest(array[sandipos0101, sandipos0201, sandipos0202,sandipos0203,sandipos0401,sandipos0402,sandipos0501,sandipos0502]) AS rasio
FROM lapbul_rasio_keuangan_triwulanan
ORDER BY sandi
--- convert kolom to row
select
pen2.id_bpr,
pen2.id_bpr_cabang,
sum(case when pen2.pendidikan='S - 3' then COALESCE(kar2.ttl,0) end) s3,
sum(case when pen2.pendidikan='S - 2' then COALESCE(kar2.ttl,0) end) s2,
sum(case when pen2.pendidikan='S - 1' then COALESCE(kar2.ttl,0) end) s1,
sum(case when pen2.pendidikan='Diploma 3' then COALESCE(kar2.ttl,0) end) d3,
sum(case when pen2.pendidikan='Tanpa Gelar' then COALESCE(kar2.ttl,0) end) slta,
sum(case when pen2.pendidikan='Lainnya ' then COALESCE(kar2.ttl,0) end) Lainnya
from (
select pen.id_bpr, cab.id_bpr_cabang, pen.id, pen.pendidikan from (
select
(select id id_bpr from m_bpr where id=4),
id, pendidikan
from m_pendidikan pen where pen.kode_pendidikan in ('03','04','05','06','99','00')) pen
join m_bpr_cabang cab on pen.id_bpr=cab.id_bpr) pen2
left join (select
id_bpr,
id_bpr_cabang,
kode_pendidikan, count(*) ttl
from m_karyawan where id_bpr=4 and status_karyawan='true'and jenis_karyawan='Tetap' and nama_jabatan not like 'ADMIN%'
group by id_bpr,
id_bpr_cabang, kode_pendidikan) kar2 on pen2.id_bpr=kar2.id_bpr and pen2.id_bpr_cabang=kar2.id_bpr_cabang and pen2.id=kar2.kode_pendidikan
group by pen2.id_bpr,
pen2.id_bpr_cabang
Langganan:
Posting Komentar (Atom)
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
-
select round(5.123456 , 2) from dual ==> 5.12 select round(5.87654 , 2) from dual ==> 5.88 select floor(5.89) from dual ==> 5 s...
-
round((case when adjpk.nilai_jaminan<>0 then ((tabkredit.baki*100)/(COALESCE(adjpk.nilai_jaminan,0))) els...
-
USE [DATABASENYA] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[SendEmailHardiskSize] as begin ...
Tidak ada komentar:
Posting Komentar