아래 처럼 쿼리를 짜서 개발 서버에서 돌아갔는데 실서버에 적용하니까 에러가 나네요
ORA-00904: "H"."E_SEQ": invalid identifier 에런 인데 너무 안쪽에 선언되어 있어서 위에 꺼를 인식 못하는거 같은데
해결 방안이 있는지 조언좀해주세요.
SELECT COUNT (E_SEQ) AS TOTCNT
FROM (SELECT *
FROM TBLK_NEW_EDUCATION
WHERE 1 = 1 AND E_IS_MAIN = 'Y') H
WHERE 0 <
( WITH DEPT_TEST AS (SELECT XMLAGG (XMLELEMENT (
a,
',' || EC_EDU_TARGET) ORDER BY
EC_EDU_TARGET).EXTRACT (
'//text()').getStringVal ()
AS EC_EDU_TARGET
FROM TBLK_NEW_EDUCATION_COURSE
WHERE E_SEQ = H.E_SEQ
AND EC_TO_TARGET = 'TOT')
SELECT COUNT (*)
FROM (
SELECT EC_EDU_TARGET
FROM ( SELECT REGEXP_SUBSTR (EC_EDU_TARGET,
'[^,]+',
1,
LEVEL)
AS EC_EDU_TARGET
FROM (DEPT_TEST)
CONNECT BY INSTR (EC_EDU_TARGET,
',',
1,
LEVEL - 1) > 0)
GROUP BY EC_EDU_TARGET)
WHERE EC_EDU_TARGET IN (1, 2))
SELECT COUNT(DISTINCT h.e_seq) totcnt FROM tblk_new_education h INNER JOIN tblk_new_education_course b ON b.e_seq = h.e_seq WHERE h.e_is_main = 'Y' AND b.ec_to_target = 'TOT' AND b.ec_edu_target IN (1, 2) ; SELECT COUNT(*) totcnt FROM tblk_new_education h WHERE h.e_is_main = 'Y' AND EXISTS (SELECT 1 FROM tblk_new_education_course b WHERE b.e_seq = h.e_seq AND b.ec_to_target = 'TOT' AND b.ec_edu_target IN (1, 2) ) ;