select
'20200120'
,(select sum(VAL) from test t where t.BS_DTM = m.BS_DTM) AS SUMVAL
,CASE WHEN SUMVAL > 0 THEN 1 ELSE 0 END
from
main m
대충 이런식으로 짜여있는데 이런식으로 쿼리돌리면 'ORA-00904: "SUMVAL": 부적합한 식별자' 라고 오류가 나옴...
저기서 어떻게 해야지 아래 CASE문이 돌아감? CASE에서도 서브쿼리돌리기에는 너무 에바같은데..
4개의 댓글
무분별한 사용은 차단될 수 있습니다.
허허거참너무하네
select
'20200120'
,(select sum(VAL) from test t where t.BS_DTM = m.BS_DTM) AS SUMVAL
,CASE WHEN (select sum(VAL) from test t where t.BS_DTM = m.BS_DTM) > 0 THEN 1 ELSE 0 END
from
main m
God니콘
걍 케이스에도 서브쿼리 돌려야대? 속도느릴까봐 안했는뎅... 할수있는게 저거밖에 없나>?
허허거참너무하네
select
'20200120'
,SUMVAL
,CASE WHEN SUMVAL > 0 THEN 1 ELSE 0 END
from
(SELECT (select sum(VAL) from test t where t.BS_DTM = m.BS_DTM) AS SUMVAL
FROM main m) TB
이렇게 해도 되고..
God니콘
프롬에다 박으면 되는구나 ㅇㅋㅇ 땡큐