안녕하세요. 이곳에서 많은 도움을 받고 있습니다. 쿼리 작성에 도움을 청합니다. 아래 SAMPLE데이타 SUB_SYS_CODE PGM_ID PGM_NAME_DESC -------------------------------------------- GASAA GASAA0010A 도서목록및대여관리 GASAA0020A 사내문서및증빙자료관리 GASAA0030A 차량운행정보관리 GASAA0040A 지게차량운행정보관리 GASAA0050A 식수인원정보예량관리 GASAA0060A 주말 근무자현황관리 GWAPA GWAPA0010A 결재 작성함 MMGLA GWAPA0010A 결재대기함 GWAPA0020A 결재 대기함 GWAPA0030A 결재 진행함 GWAPA0040A 결재 반려함 GWAPA0050A 결재 완료함 GWAPB GWAPB0010A 지출결의서 GWAPB0020A 업무협조전 GWAPB0030A 품의서 GWAPB0040A 발주서 GWAPB0050A 근태계작성 GWAPC GWAPC0010A 문서표준양식목록 HRBAE HRBAE0010A 사원인사정보 등록 HRBAE0011I 사원인사정보 조회 HRBAE0020A 인사조직정보 등록 HRBAE0020I 인사조직정보 조회 HRBAF HRBAE0100A 직원 근무근태관리 HRBAE0200I 직원일일출근현황 HRBAZ HRBAZ0010A 표준정보관리 MMGLA0030A POR등록및확정 MMGLB MMGLB0010A 발주등록 MMGLB0020A 발주수정및확정 MMGLB0060I 발주현황조회 MMGLB0080A 업체별구매단가정보관리 MMGLC MMGLC0010A 입고등록 MMGLC0020A 입고수정 MMGLC0030I 입고내역 조회 MMGLC0040A 입고차수마감 MMPEC MMGLC0060I 세금계산서 수수현황 조회 MMGLC0120I 미입고현황 MMGLC0200A 사급자재입고관리 MMGLC0300A 소요자재공급구분현황 MMGLC0500A 묶음단위자재리스트(DSME) MMGLD MMGLD0020A 사급자재불출등록및불출현황
---------------------
위의 데이타 샘플은 PGM_ID가 앞에서 5자리까지 유일하게 구분이 됩니다.
위의 샘플내용은 아래 쿼리에 의한 결과 입니다. ROW_NUMBER() 순위함수를 잘못 적용했는지
MMGLA GWAPA0010A 결재대기함 --- 이 잘못 표기 됩니다. ㅡ>
MMGLA MMGLA0030A POR등록및확정 -->이렇게 되어야 되는데..
제가 어떤 부분이 잘못 적용했을까요?
쿼리 조언 부탁 드립니다.
SELECT * FROM (SELECT DECODE(RN1, 1, SUB_SYS_CODE) SUB_SYS_CODE, DECODE(RN2, 1, PGM_ID) PGM_ID, PGM_NAME_DESC PGM_NAME_DESC FROM (SELECT SUB_SYS_CODE, PGM_ID, PGM_NAME_DESC, ROW_NUMBER() OVER( PARTITION BY SUB_SYS_CODE ORDER BY PGM_ID, PGM_NAME_DESC) RN1, ROW_NUMBER() OVER( PARTITION BY SUB_SYS_CODE, PGM_ID ORDER BY PGM_NAME_DESC ) RN2 FROM (SELECT DISTINCT SM004M.SUB_SYS_CODE, SM004M.PGM_ID, SM004M.PGM_NAME_DESC FROM SM004M WHERE 1 = 1 AND SM004M.NATN_LNGU_CODE = 'KO' AND SM004M.PGM_USE_INDC = 'Y' ORDER BY SM004M.PGM_ID ) ) ) WHERE 1 = 1 ORDER BY PGM_ID