SELECT NVL(
(SELECT MAX(A.INDT)
FROM TABLE1_HISTORY A, TABLE1 B, CODE_TABLE C
WHERE A.USERID = B.USERID
AND A.STATUS = C.CODEID
AND A.USERID = (SELECT DISTINCT USERID FROM TABLE1 D WHERE D.USERID = '사용자ID' AND D.DELETED <> 0 )
AND A.STATUS IN ('CODEA','CODEB','CODEC'))
,(SELECT MAX(UPDT) FROM TABLE1 WHERE USERID ='사용자ID' AND DELETED <>0 )
) DELETE_DATE
FROM DUAL
조건1. TABLE1 에서 DELETED 가 0이 아닌 USERID를 가져와서 TABLE1_HISTORY 테이블에서 앞의 USERID 를 조건으로 MAX(INDT) 검색
위의 값이 없으면
TABLE1 에서 DELETED 가 0이 아닌 USERID를 가져와서 앞의 USERID 를 조건으로MAX(UPDT) 를 가져오는 조건
조건2. 반드시 DELETE_DATE 값은 있어야 합니다.(데이터는 있는 걸로 간주)
위의 조건으로 쿼리를 만들었는데 복잡해 보이기도 하고 더 좋은 방법은 없는지 궁금해서 질문드립니다.