[i=s] 本帖最后由 zhouxianwang 于 2012-6-29 14:49 编辑
SELECT EMP_NO,
EMP_NM,
DEPT_CD,
DEPT_NM,
D01 || F_GET_APP_NM('3000', EMP_NO, W01, F01) AS D01,
F01,
W01,
D02 || F_GET_APP_NM('3000', EMP_NO, W02, F02) AS D02,
F02,
W02,
D03 || F_GET_APP_NM('3000', EMP_NO, W03, F03) AS D03,
F03,
W03,
D04 || F_GET_APP_NM('3000', EMP_NO, W04, F04) AS D04,
F04,
W04,
D05 || F_GET_APP_NM('3000', EMP_NO, W05, F05) AS D05,
F05,
W05,
D06 || F_GET_APP_NM('3000', EMP_NO, W06, F06) AS D06,
F06,
W06,
D07 || F_GET_APP_NM('3000', EMP_NO, W07, F07) AS D07,
F07,
W07,
D08 || F_GET_APP_NM('3000', EMP_NO, W08, F08) AS D08,
F08,
W08,
D09 || F_GET_APP_NM('3000', EMP_NO, W09, F09) AS D09,
F09,
W09,
D10 || F_GET_APP_NM('3000', EMP_NO, W10, F10) AS D10,
F10,
W10,
D11 || F_GET_APP_NM('3000', EMP_NO, W11, F11) AS D11,
F11,
W11,
D12 || F_GET_APP_NM('3000', EMP_NO, W12, F12) AS D12,
F12,
W12,
D13 || F_GET_APP_NM('3000', EMP_NO, W13, F13) AS D13,
F13,
W13,
D14 || F_GET_APP_NM('3000', EMP_NO, W14, F14) AS D14,
F14,
W14,
D15 || F_GET_APP_NM('3000', EMP_NO, W15, F15) AS D15,
F15,
W15,
D16 || F_GET_APP_NM('3000', EMP_NO, W16, F16) AS D16,
F16,
W16,
D17 || F_GET_APP_NM('3000', EMP_NO, W17, F17) AS D17,
F17,
W17,
D18 || F_GET_APP_NM('3000', EMP_NO, W18, F18) AS D18,
F18,
W18,
D19 || F_GET_APP_NM('3000', EMP_NO, W19, F19) AS D19,
F19,
W19,
D20 || F_GET_APP_NM('3000', EMP_NO, W20, F20) AS D20,
F20,
W20,
D21 || F_GET_APP_NM('3000', EMP_NO, W21, F21) AS D21,
F21,
W21,
D22 || F_GET_APP_NM('3000', EMP_NO, W22, F22) AS D22,
F22,
W22,
D23 || F_GET_APP_NM('3000', EMP_NO, W23, F23) AS D23,
F23,
W23,
D24 || F_GET_APP_NM('3000', EMP_NO, W24, F24) AS D24,
F24,
W24,
D25 || F_GET_APP_NM('3000', EMP_NO, W25, F25) AS D25,
F25,
W25,
D26 || F_GET_APP_NM('3000', EMP_NO, W26, F26) AS D26,
F26,
W26,
D27 || F_GET_APP_NM('3000', EMP_NO, W27, F27) AS D27,
F27,
W27,
D28 || F_GET_APP_NM('3000', EMP_NO, W28, F28) AS D28,
F28,
W28,
D29 || F_GET_APP_NM('3000', EMP_NO, W29, F29) AS D29,
F29,
W29,
D30 || F_GET_APP_NM('3000', EMP_NO, W30, F30) AS D30,
F30,
W30,
D31 || F_GET_APP_NM('3000', EMP_NO, W31, F31) AS D31,
F31,
W31
FROM (SELECT EMP_NO,
EMP_NM,
DEPT_CD,
DEPT_NM,
NVL(S01, ' ') || '~' || NVL(E01, ' ') D01,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-01', S01, E01) F01,
NVL(S02, ' ') || '~' || NVL(E02, ' ') D02,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-02', S02, E02) F02,
NVL(S03, ' ') || '~' || NVL(E03, ' ') D03,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-03', S03, E03) F03,
NVL(S04, ' ') || '~' || NVL(E04, ' ') D04,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-04', S04, E04) F04,
NVL(S05, ' ') || '~' || NVL(E05, ' ') D05,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-05', S05, E05) F05,
NVL(S06, ' ') || '~' || NVL(E06, ' ') D06,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-06', S06, E06) F06,
NVL(S07, ' ') || '~' || NVL(E07, ' ') D07,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-07', S07, E07) F07,
NVL(S08, ' ') || '~' || NVL(E08, ' ') D08,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-08', S08, E08) F08,
NVL(S09, ' ') || '~' || NVL(E09, ' ') D09,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-09', S09, E09) F09,
NVL(S10, ' ') || '~' || NVL(E10, ' ') D10,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-10', S10, E10) F10,
NVL(S11, ' ') || '~' || NVL(E11, ' ') D11,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-11', S11, E11) F11,
NVL(S12, ' ') || '~' || NVL(E12, ' ') D12,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-12', S12, E12) F12,
NVL(S13, ' ') || '~' || NVL(E13, ' ') D13,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-13', S13, E13) F13,
NVL(S14, ' ') || '~' || NVL(E14, ' ') D14,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-14', S14, E14) F14,
NVL(S15, ' ') || '~' || NVL(E15, ' ') D15,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-15', S15, E15) F15,
NVL(S16, ' ') || '~' || NVL(E16, ' ') D16,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-16', S16, E16) F16,
NVL(S17, ' ') || '~' || NVL(E17, ' ') D17,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-17', S17, E17) F17,
NVL(S18, ' ') || '~' || NVL(E18, ' ') D18,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-18', S18, E18) F18,
NVL(S19, ' ') || '~' || NVL(E19, ' ') D19,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-19', S19, E19) F19,
NVL(S20, ' ') || '~' || NVL(E20, ' ') D20,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-20', S20, E20) F20,
NVL(S21, ' ') || '~' || NVL(E21, ' ') D21,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-21', S21, E21) F21,
NVL(S22, ' ') || '~' || NVL(E22, ' ') D22,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-22', S22, E22) F22,
NVL(S23, ' ') || '~' || NVL(E23, ' ') D23,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-23', S23, E23) F23,
NVL(S24, ' ') || '~' || NVL(E24, ' ') D24,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-24', S24, E24) F24,
NVL(S25, ' ') || '~' || NVL(E25, ' ') D25,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-25', S25, E25) F25,
NVL(S26, ' ') || '~' || NVL(E26, ' ') D26,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-26', S26, E26) F26,
NVL(S27, ' ') || '~' || NVL(E27, ' ') D27,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-27', S27, E27) F27,
NVL(S28, ' ') || '~' || NVL(E28, ' ') D28,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-28', S28, E28) F28,
NVL(S29, ' ') || '~' || NVL(E29, ' ') D29,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-29', S29, E29) F29,
NVL(S30, ' ') || '~' || NVL(E30, ' ') D30,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-30', S30, E30) F30,
NVL(S31, ' ') || '~' || NVL(E31, ' ') D31,
F_GET_ATT_TYP(EMP_NO, '3000','2012-06' || '-31', S31, E31) F31,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-26' W26,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-27' W27,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-28' W28,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-29' W29,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-30' W30,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-31' W31,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-01' W01,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-02' W02,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-03' W03,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-04' W04,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-05' W05,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-06' W06,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-07' W07,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-08' W08,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-09' W09,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-10' W10,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-11' W11,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-12' W12,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-13' W13,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-14' W14,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-15' W15,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-16' W16,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-17' W17,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-18' W18,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-19' W19,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-20' W20,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-21' W21,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-22' W22,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-23' W23,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-24' W24,
TO_CHAR(TO_DATE('2012-06', 'YYYY-MM'), 'YYYY-MM') || '-25' W25
FROM (SELECT EMP_NO,
EMP_NM,
DEPT_CD,
DEPT_NM,
SORT_SEQ,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '01' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S01,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '01' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E01,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '02' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S02,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '02' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E02,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '03' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S03,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '03' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E03,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '04' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S04,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '04' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E04,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '05' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S05,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '05' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E05,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '06' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S06,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '06' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E06,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '07' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S07,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '07' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E07,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '08' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S08,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '08' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E08,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '09' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S09,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '09' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E09,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '10' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S10,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '10' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E10,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '11' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S11,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '11' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E11,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '12' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S12,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '12' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E12,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '13' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S13,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '13' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E13,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '14' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S14,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '14' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E14,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '15' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S15,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '15' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E15,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '16' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S16,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '16' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E16,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '17' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S17,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '17' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E17,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '18' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S18,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '18' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E18,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '19' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S19,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '19' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E19,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '20' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S20,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '20' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E20,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '21' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S21,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '21' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E21,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '22' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S22,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '22' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E22,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '23' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S23,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '23' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E23,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '24' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S24,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '24' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E24,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '25' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S25,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '25' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E25,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '26' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S26,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '26' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E26,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '27' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S27,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '27' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E27,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '28' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S28,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '28' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E28,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '29' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S29,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '29' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E29,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '30' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S30,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '30' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E30,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '31' THEN
TO_CHAR(WORK_START_DTM, 'HH24:MI')
END) S31,
MAX(CASE
WHEN TO_CHAR(WORK_DATE, 'DD') = '31' THEN
TO_CHAR(WORK_END_DTM, 'HH24:MI')
END) E31
FROM (SELECT A.CORP_CD,
A.EMP_NO,
A.EMP_NM,
A.DEPT_CD,
A.DEPT_NM,
A.SORT_SEQ,
B.WORK_DATE,
B.WORK_START_DTM,
B.WORK_END_DTM
FROM (SELECT R.CORP_CD,
R.EMP_NO,
R.EMP_NM,
R.DEPT_CD,
R.DEPT_NM,
R.SORT_SEQ
FROM V_ESS_USER R
WHERE R.CORP_CD = '3000'
AND (R.POSITION_CD != '442' OR
R.POSITION_CD IS NULL)
AND EMP_NO NOT IN ('204022',
'207758',
'207338',
'210857',
'196001',
'196000')
AND EXISTS
(SELECT DEPT_CD
FROM V_ESS_DEPT
WHERE CORP_CD = '3000'
AND DEPT_CD = R.DEPT_CD
START WITH DEPT_CD = '200000'
CONNECT BY PRIOR DEPT_CD = PARENT_DEPT_CD)
AND NOT EXISTS
(SELECT *
FROM (SELECT DEPT_CD
FROM V_ESS_DEPT
WHERE CORP_CD = '3000'
START WITH DEPT_CD = '400000'
CONNECT BY PRIOR DEPT_CD =
PARENT_DEPT_CD)
WHERE R.DEPT_CD = DEPT_CD)
ORDER BY R.SORT_SEQ) A,
(SELECT CORP_CD,
EMP_NO,
WORK_DATE,
WORK_START_DTM,
WORK_END_DTM
FROM ESS_ATT_INFO
WHERE TO_CHAR(WORK_DATE, 'YYYY-MM') = '2012-06') B
WHERE A.EMP_NO = B.EMP_NO(+)
AND A.CORP_CD = B.CORP_CD(+)
AND A.CORP_CD = '3000')
GROUP BY DEPT_CD, DEPT_NM, EMP_NO, EMP_NM, SORT_SEQ
ORDER BY DEPT_CD,
NLSSORT(SORT_SEQ, 'NLS_SORT=SCHINESE_PINYIN_M'),
NLSSORT(EMP_NM, 'NLS_SORT=SCHINESE_PINYIN_M')))
;
我对SQL不太懂,一看到这么长的SQL就头晕! 并且这个SQL里面还有VIEW 又包含了许多表,看看大家能不能给一些建议,应怎样优化一下?
WORKLOAD REPOSITORY SQL Report:
awrsqlrpt_1_10526_10527.rar
(2012-06-29 14:47:18, Size: 5.76 KB, Downloads: )
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27036311/viewspace-734143/
,如需转载,请注明出处,否则将追究法律责任。