APSEQ | APDTLSEQ | SEQ | STATUS | EMPNO | OPIN | APPRDT |
C515 | 1 | 7 | 01 | 10010 | 결재요청3 | 20210213 |
C515 | 3 | 7 | 03 | 10020 | 걸재승인3 | 20210213 |
C515 | 4 | 7 | 00 | 10030 | ||
C515 | 1 | 6 | 01 | 10010 | 결재요청3 | 20210213 |
C515 | 3 | 6 | 00 | 10020 | ||
C515 | 4 | 6 | 00 | 10030 | ||
C515 | 1 | 5 | 01 | 10010 | 결재요청2 | 20210211 |
C515 | 3 | 5 | 09 | 10020 | 결재반려2 | 20210211 |
C515 | 4 | 5 | 00 | 10030 | ||
C515 | 1 | 4 | 01 | 10010 | 결재요청2 | 20210211 |
C515 | 3 | 4 | 00 | 10020 | ||
C515 | 4 | 4 | 00 | 10030 | ||
C515 | 1 | 3 | 01 | 10010 | 결재요청1 | 20210210 |
C515 | 3 | 3 | 03 | 10020 | 결재승인1 | 20210210 |
C515 | 4 | 3 | 09 | 10030 | 결재반려1 | 20210210 |
C515 | 1 | 2 | 01 | 10010 | 결재요청1 | 20210210 |
C515 | 3 | 2 | 03 | 10020 | 결재승인1 | 20210210 |
C515 | 4 | 2 | 00 | 10030 | ||
C515 | 1 | 1 | 01 | 10010 | 결재요청1 | 20210210 |
C515 | 3 | 1 | 00 | 10020 | ||
C515 | 4 | 1 | 00 | 10030 |
현재는 저장 할때마다 3 Rows 씩 저장되고 있습니다.
원하는 결과는 결재 1세트가 끝나면 아래와 같이 나오게 하려고 합니다. (SEQ=7, SEQ=5, SEQ=3)
APSEQ | APDTLSEQ | SEQ | STATUS | EMPNO | OPIN | APPRDT |
C515 | 1 | 7 | 01 | 10010 | 결재요청3 | 20210213 |
C515 | 3 | 7 | 03 | 10020 | 걸재승인3 | 20210213 |
C515 | 4 | 7 | 00 | 10030 | ||
C515 | 1 | 5 | 01 | 10010 | 결재요청2 | 20210211 |
C515 | 3 | 5 | 09 | 10020 | 결재반려2 | 20210211 |
C515 | 4 | 5 | 00 | 10030 | ||
C515 | 1 | 3 | 01 | 10010 | 결재요청1 | 20210210 |
C515 | 3 | 3 | 03 | 10020 | 결재승인1 | 20210210 |
C515 | 4 | 3 | 09 | 10030 | 결재반려1 | 20210210 |
맨 마지막 SEQ는 무조건 나와야 합니다.
C515 | 1 | 7 | 01 | 10010 | 결재요청3 | 20210213 |
C515 | 3 | 7 | 03 | 10020 | 결재승인3 | 20210213 |
C515 | 4 | 7 | 00 | 10030 |
TABLE 명 : TB_APPR
고수님들의 조언 부탁드립니다
WITH t AS ( SELECT 'C515' apseq, 1 apdtlseq, 7 seq, '01' status, '10010' empno, '결재요청3' opin, '20210213' apprdt FROM dual UNION ALL SELECT 'C515', 3, 7, '03', '10020', '걸재승인3', '20210213' FROM dual UNION ALL SELECT 'C515', 4, 7, '00', '10030', '' , '' FROM dual UNION ALL SELECT 'C515', 1, 6, '01', '10010', '결재요청3', '20210213' FROM dual UNION ALL SELECT 'C515', 3, 6, '00', '10020', '' , '' FROM dual UNION ALL SELECT 'C515', 4, 6, '00', '10030', '' , '' FROM dual UNION ALL SELECT 'C515', 1, 5, '01', '10010', '결재요청2', '20210211' FROM dual UNION ALL SELECT 'C515', 3, 5, '09', '10020', '결재반려2', '20210211' FROM dual UNION ALL SELECT 'C515', 4, 5, '00', '10030', '' , '' FROM dual UNION ALL SELECT 'C515', 1, 4, '01', '10010', '결재요청2', '20210211' FROM dual UNION ALL SELECT 'C515', 3, 4, '00', '10020', '' , '' FROM dual UNION ALL SELECT 'C515', 4, 4, '00', '10030', '' , '' FROM dual UNION ALL SELECT 'C515', 1, 3, '01', '10010', '결재요청1', '20210210' FROM dual UNION ALL SELECT 'C515', 3, 3, '03', '10020', '결재승인1', '20210210' FROM dual UNION ALL SELECT 'C515', 4, 3, '09', '10030', '결재반려1', '20210210' FROM dual UNION ALL SELECT 'C515', 1, 2, '01', '10010', '결재요청1', '20210210' FROM dual UNION ALL SELECT 'C515', 3, 2, '03', '10020', '결재승인1', '20210210' FROM dual UNION ALL SELECT 'C515', 4, 2, '00', '10030', '' , '' FROM dual UNION ALL SELECT 'C515', 1, 1, '01', '10010', '결재요청1', '20210210' FROM dual UNION ALL SELECT 'C515', 3, 1, '00', '10020', '' , '' FROM dual UNION ALL SELECT 'C515', 4, 1, '00', '10030', '' , '' FROM dual ) SELECT a.* FROM t a , (SELECT apseq, opin , MAX(seq) seq FROM t WHERE apdtlseq = 1 GROUP BY apseq, opin ) b WHERE a.apseq = b.apseq AND a.seq = b.seq ;