[ORA-01789] 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다.
ORA-01789 : query block has incorrect number of result columns
SELECT COUNT(*) AS ECOUNT
FROM (
SELECT *
FROM USERS
WHERE USER_ID = :userId
UNION ALL
SELECT *
FROM IF_USERS
WHERE USER_ID = :userId
)
WHERE ROWNUM = 1
위 에러가 나는 이유는 SQL상에서 두개의 테이블의 값이 동일 하지 않아서 나오는 현상으로 USERS와 IF_USERS에 동일한 COLUMN값을 조회해주면 해결된다.
SELECT COUNT(*) AS ECOUNT
FROM (
SELECT USER_ID
FROM USERS
WHERE USER_ID = :userId
UNION ALL
SELECT USER_ID
FROM IF_USERS
WHERE USER_ID = :userId
)
WHERE ROWNUM = 1
검색한 조건의 userId가 있으면 정상적으로 조회되었다.
#ORA-01789 #query block has incorrect number of result columns #질의 블록은 부정확한 수의 결과 열을 가지고 있습니다