vcd / scd / filename 로 구성되어 있는 테이블이 있습니다.
03D,0000,aaa.txt
03D,0001,aaa.txt
03D,0002,aaa.txt
03D, ,bbb.txt
03D,0003,bbb.txt
03D,0000,ccc.txt
03D,0001,ccc.txt
03D,0002,ddd.txt
03D,0005,ddd.txt
filename단위로 첫번째 레코드의 scd의 값이 0000가 아닌 파일명을 취득하려고 합니다.
위의 경우 결과값은
bbb.txt
ddd.txt
잘 부탁드립니다.
WITH TMP (VCD, SCD, FILENAME) AS ( SELECT '03D', '0000', 'AAA.TXT' FROM DUAL UNION ALL SELECT '03D', '0001', 'AAA.TXT' FROM DUAL UNION ALL SELECT '03D', '0002', 'AAA.TXT' FROM DUAL UNION ALL SELECT '03D', ' ', 'BBB.TXT' FROM DUAL UNION ALL SELECT '03D', '0003', 'BBB.TXT' FROM DUAL UNION ALL SELECT '03D', '0000', 'CCC.TXT' FROM DUAL UNION ALL SELECT '03D', '0001', 'CCC.TXT' FROM DUAL UNION ALL SELECT '03D', '0002', 'DDD.TXT' FROM DUAL UNION ALL SELECT '03D', '0005', 'DDD.TXT' FROM DUAL ) SELECT DISTINCT FILENAME FROM TMP A WHERE NOT EXISTS ( SELECT 'X' FROM TMP B WHERE B.SCD = '0000' AND B.FILENAME = A.FILENAME)