Pivot Table Oracle Lebih lanjut

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
Pivot Table Oracle Lebih lanjut Pivot Table Oracle Lebih lanjut Reviewed by Bank Ifoel on April 23, 2014 Rating: 5

No comments:

Powered by Blogger.