Pivot Table Oracle Lebih lanjut
Bank Ifoel
April 23, 2014
select CLASS_TITLE,BATCH_ID,START_DATE,END_DATE,CLASS_OWNER_NAME,
sum(case when JENJANG ='ASST' then JMLH else 0 end) ASST,
sum(case when JENJANG ='PGD' then JMLH else 0 end) PGD,
sum(case when JENJANG ='AMGR' then JMLH else 0 end) AMGR,
sum(case when JENJANG ='MGR' then JMLH else 0 end) MGR,
sum(case when JENJANG ='AVP' then JMLH else 0 end) AVP,
sum(case when JENJANG ='VP' then JMLH else 0 end) VP,
sum(case when JENJANG ='EVP' then JMLH else 0 end) EVP
from
(
SELECT DISTINCT
CT.CLASS_ID,
UPPER(FER.OFFERING_COURSE_TITLE) AS COURSE,
UPPER(CT.CLASS_TITLE) AS CLASS_TITLE,
ct.batch_id,
CT.START_DATE,
CT.END_DATE,
CO.CLASS_OWNER_NAME,
PEG.JENJANG,
(
SELECT
COUNT(*)
FROM
V_ALL_PEG A
JOIN T_ENROLLMENT_DETAIL B ON A.PERSON_ID = B.PERSON_ID
JOIN T_CLASS C ON B.CLASS_ID = C.CLASS_ID
WHERE A.JENJANG = PEG.JENJANG AND B.CLASS_ID = CT.CLASS_ID
) AS JMLH,
(
SELECT COUNT
(*)
FROM
T_ENROLLMENT_NONPEGAWAI_DETAIL C
WHERE C.CLASS_ID = CT.CLASS_ID
) as OUT_SOURCE
FROM
T_CLASS CT
LEFT JOIN T_ENROLLMENT_DETAIL ED ON ED.CLASS_ID = CT.CLASS_ID
LEFT JOIN M_CLASS_OWNER CO ON CT.CLASS_OWNER = CO.CLASS_OWNER_ID
LEFT JOIN T_OFFERING FER ON FER.OFFERING_ID = CT.OFFERING_ID
JOIN V_ALL_PEG PEG ON PEG.PERSON_ID = ED.PERSON_ID
WHERE CT.END_DATE >= sysdate
ORDER BY CO.CLASS_OWNER_NAME,UPPER(CT.CLASS_TITLE)
) S
group by CLASS_TITLE,BATCH_ID,START_DATE,END_DATE,CLASS_OWNER_NAME
sum(case when JENJANG ='ASST' then JMLH else 0 end) ASST,
sum(case when JENJANG ='PGD' then JMLH else 0 end) PGD,
sum(case when JENJANG ='AMGR' then JMLH else 0 end) AMGR,
sum(case when JENJANG ='MGR' then JMLH else 0 end) MGR,
sum(case when JENJANG ='AVP' then JMLH else 0 end) AVP,
sum(case when JENJANG ='VP' then JMLH else 0 end) VP,
sum(case when JENJANG ='EVP' then JMLH else 0 end) EVP
from
(
SELECT DISTINCT
CT.CLASS_ID,
UPPER(FER.OFFERING_COURSE_TITLE) AS COURSE,
UPPER(CT.CLASS_TITLE) AS CLASS_TITLE,
ct.batch_id,
CT.START_DATE,
CT.END_DATE,
CO.CLASS_OWNER_NAME,
PEG.JENJANG,
(
SELECT
COUNT(*)
FROM
V_ALL_PEG A
JOIN T_ENROLLMENT_DETAIL B ON A.PERSON_ID = B.PERSON_ID
JOIN T_CLASS C ON B.CLASS_ID = C.CLASS_ID
WHERE A.JENJANG = PEG.JENJANG AND B.CLASS_ID = CT.CLASS_ID
) AS JMLH,
(
SELECT COUNT
(*)
FROM
T_ENROLLMENT_NONPEGAWAI_DETAIL C
WHERE C.CLASS_ID = CT.CLASS_ID
) as OUT_SOURCE
FROM
T_CLASS CT
LEFT JOIN T_ENROLLMENT_DETAIL ED ON ED.CLASS_ID = CT.CLASS_ID
LEFT JOIN M_CLASS_OWNER CO ON CT.CLASS_OWNER = CO.CLASS_OWNER_ID
LEFT JOIN T_OFFERING FER ON FER.OFFERING_ID = CT.OFFERING_ID
JOIN V_ALL_PEG PEG ON PEG.PERSON_ID = ED.PERSON_ID
WHERE CT.END_DATE >= sysdate
ORDER BY CO.CLASS_OWNER_NAME,UPPER(CT.CLASS_TITLE)
) S
group by CLASS_TITLE,BATCH_ID,START_DATE,END_DATE,CLASS_OWNER_NAME
Pivot Table Oracle Lebih lanjut
Reviewed by Bank Ifoel
on
April 23, 2014
Rating: