728x90
반응형
Oracle 기준
❌ 안 되는 경우
SELECT
COALESCE(SUM(DTL.REAL_AMT), 0) AS REAL_AMT,
COALESCE(SUM(DTL.REAL_AMT), 0) * 0.1 AS REAL_AMT_10P,
REAL_AMT + REAL_AMT_10P AS REAL_AMT_TOTAL -- ❌ alias 직접 사용 불가
→ SELECT 절 안에서는 같은 레벨의 alias 를 바로 참조할 수 없어요.
그래서 REAL_AMT 와 REAL_AMT_10P 를 여기서 그대로 쓰면 에러 납니다.
✅ 되는 방법 2: 서브쿼리 감싸기
SELECT
REAL_AMT,
REAL_AMT_10P,
REAL_AMT + REAL_AMT_10P AS REAL_AMT_TOTAL
FROM (
SELECT
COALESCE(SUM(DTL.REAL_AMT), 0) AS REAL_AMT,
COALESCE(SUM(DTL.REAL_AMT), 0) * 0.1 AS REAL_AMT_10P
FROM T_MR_EXHL_DTL DTL
)
이렇게 하면 alias 를 그대로 쓸 수 있습니다.
728x90
반응형
'DB' 카테고리의 다른 글
[DB][Oracle] ALTER TABLE ... ADD 안에서 컬럼 정의와 동시에 COMMENT 를 지정하는 문법 (0) | 2025.09.19 |
---|---|
[DB][SQL] INNER JOIN 시 ON절과 WHERE (0) | 2025.08.19 |
[DB][Oracle] RAW 타입 (0) | 2025.08.06 |
[DB][Oracle] DBMS_LOB.SUBSTR (0) | 2025.08.05 |
[DB][MySQL] 공백과 Null 모두 제외하기 (0) | 2025.07.16 |