by 동동동 [SQL Query] [2018.08.30 10:04:26]
안녕하세요..
WITH TMP AS ( SELECT 'A' COD, '가나다' CODNM, 'A' GRPCOD, 2 SEQ FROM DUAL UNION ALL SELECT 'A2' COD, '가다' CODNM, 'A' GRPCOD, 4 SEQ FROM DUAL UNION ALL SELECT 'B' COD, '하하하' CODNM, '' GRPCOD, 3 SEQ FROM DUAL UNION ALL SELECT 'C' COD, 'qkqqqq' CODNM, '' GRPCOD, 5 SEQ FROM DUAL UNION ALL SELECT 'A1' COD, '나다' CODNM, 'A' GRPCOD, 1 SEQ FROM DUAL ) SELECT * FROM TMP;
COD | CODNM | GRPCOD | SEQ |
A | 가나다 | A | 2 |
A2 | 가다 | A | 4 |
B | 하하하 | 3 | |
C | qkqqqq | 5 | |
A1 | 나다 | A | 1 |
다음과 같이 데이타가 있을때
GRPCOD 별로 그룹을 지어서 SEQ별로 정렬을 할때, COD와 GRPCOD가 같은경우는 같은 그룹에서도 최상위로 표시가 되어야 합니다.
COD | CODNM | GRPCOD | SEQ | LVL |
A | 가나다 | A | 2 | 0 |
A1 | 나다 | A | 1 | 1 |
A2 | 가다 | A | 4 | 2 |
B | 하하하 | {NULL} | 3 | 0 |
C | qkqqqq | {NULL} | 5 | 0 |
이렇게 레벨과 sort가 가능할지 문의 드립니다..
도움부탁드립니다..