DB

[DB][Oracle] 계산식 적을 때 Alias 사용하기

오선지♬ 2025. 9. 18. 13:27
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
반응형