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
반응형