목록쿼리에 대해서 질문 드립니다. 0 2 1,543

by InSilence [Oracle 기초] [2012.02.14 16:28:31]



SELECT A.CODE_CD
   ,A.CODE_NAME
   ,B.COMMON_CD
   ,B.COMMON_NAME
 FROM ST_COMMON01_C A, ST_COMMON02_C B
WHERE A.CODE_CD = B.CODE_CD
    AND A.SAYONG_YN = 'Y'
ORDER BY A.CODE_CD, B.SORT

ET01 모집구분 ET011 수시1차모집
ET01 모집구분 ET012 수시2차모집
ET01 모집구분 ET013 정시1차모집
ET01 모집구분 ET014 정시2차모집
ET01 모집구분 ET015 추가모집
ET02 전형구분 ET0201 일반전형
ET02 전형구분 ET0205 특별전형
ET02 전형구분 ET0206 독자전형
ET02 전형구분 ET0208 정원외(전문대졸이상자)
ET02 전형구분 ET0209 정원외(농어촌출신자)
ET02 전형구분 ET0203 정원외(생보자및차상위계층)
ET02 전형구분 ET0204 정원외(북한이탈주민전형)

이런식으로 나오는 결과값을

ET01 모집구분 ET011 수시1차모집
   ET012 수시2차모집
   ET013 정시1차모집
   ET014 정시2차모집
   ET015 추가모집
ET02 전형구분 ET0201 일반전형
   ET0205 특별전형
   ET0206 독자전형
   ET0208 정원외(전문대졸이상자)
   ET0209 정원외(농어촌출신자)
   ET0203 정원외(생보자및차상위계층)
   ET0204 정원외(북한이탈주민전형)

이런식으로 출력 할려고 합니다.

어떤 함수를 써서 해야 하는지 조언좀 부탁드립니다.
by 느훼훼 [2012.02.14 16:45:16]
RANK()나 DENSE_RANK() 쓰면 되지 않을까 싶어요~

by 마농 [2012.02.14 17:34:07]
SELECT NULLIF(a.code_cd, LAG(a.code_cd) OVER(ORDER BY a.code_cd, b.sort)) code_cd
, NULLIF(a.code_name, LAG(a.code_name) OVER(ORDER BY a.code_cd, b.sort)) code_name
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입