안녕하세요.
최근 프로그램을 하나 개발을 하고 있는데...pro*c로 개발을 하고 있습니다.
쿼리 툴에서 정상적으로 수행되는걸 확인 한 후 실제 프로그램에 돌리기 위해 컴파일을 하니..
컴파일 에러가 발생을 하네요..ㅠㅠ 내용을 찾아보니..서브쿼리를 지원을 안해서 발생을 하는거 같은데..
아래의 쿼리문을 어떻게 변경을 하면 좋을까요?
일단 뽑아 오려고 하는 데이터는 아래와 같습니다.
직원 데이터가 있는 A 테이블, 직원의 이력이 담긴 B 테이블
11개월동안 이력이없는 데이터를 뽑아오는게 목적입니다.
참고로 아래의 DDD 테이블은 A 테이블 입니다.서브 쿼리를 위해 이름만 변경해서 쓴거예요..
select a.직원정보, a.직원등록일자, b.이력일자
from AAA a, BBB b
where a.직원정보 = b.직원정보(+)
and a.직원등록일자 < to_char(add_months(sysdate, -11), 'YYYYMMDD')
and ( (select max(nvl(d.이력일자, 0)) from DDD d where d.직원정보 = a.직원정보) < to_char(add_months(sysdate, -11), 'YYYYMMDD') or (select max(nvl(d.이력일자, 0)) from DDD d where d.직원정보 = a.직원정보) is null)
group by a.직원정보, a.직원등록일자, b.이력일자;
위와같이 쿼리를 작성했는데.. 제일 마지막 조건문 때문에..컴파일이 안되고 있습니다.
저렇게 쿼리를 작성한 이유는 B 테이블에는 직원이력이 없을수도 있고, 여러건이 있을때에는 제일 최근껄 뽑아오기 위해서 입니다.