오라클 서브쿼리에서 부적합한 식별자 0 2 3,009

by QueryStudy [PL/SQL] SUB QUERY 서브쿼리 오라클 [2018.10.15 10:40:36]


SELECT * FROM(
SELECT B.*, (SELECT NUM_SE FROM (SELECT NUM_SE FROM RCON R WHERE R.NODEID IN(SELECT NODEID FROM COMSYS C WHERE C.TID IN (SELECT NODEID FROM DEPLOYED WHERE UPPER(B.HOSTNAME) IN (UPPER(TAGNM)))) ORDER BY NUM_SE ASC ) WHERE ROWNUM =1 ) PARENT_NUM
FROM TBF B
)

에서 서브쿼리의 B.HOSTNAME 가 부적합한 식별자라고 하는데 

서브쿼리 전에 WITH 절을 사용해야돼나요...

by 마농 [2018.10.15 10:58:18]
SELECT b.*
     , (SELECT MIN(r.num_se)
          FROM rcon r
             , comsys c
             , deployed d
         WHERE r.nodeid = c.nodeid
           AND c.tid    = d.nodeid
           AND UPPER(d.tagnm) = UPPER(b.hostname)
        ) parent_num
  FROM tbf b
;

 


by 우리집아찌 [2018.10.15 11:02:05]

12C에서는 가능하다고 합니다만 서브쿼리안에 1DEPTH 이상은 외부의 테이블의 컬럼을 호출하지 못합니다.

JOIN 으로 풀어주세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입