by 신제트 [MySQL] [2023.04.04 15:23:16]
if case~when 같이 사용할수가있나요?
ex)
select sum(case state when 3 then f1 end) + sum(case state when 3 then f2 end) from t1 이 있다고 한다면
저 두개의 값은 state=3 인것중 f1과 f2 의 합을 가져옵니다
한문장으로 if(state=3) 이렇게 조건을 걸고 하는 방법이있나요? 없다면 다른방법이 있는지 궁금합니다
CASE WHEN STATE = 3 THEN NVL(F1,0) + NVL(F2,0) END
형태면 원하시는 값이 도출 될거 같은데요
위 쿼리가 전체 쿼리인가요? 일부분만 발췌한 것일까요? 만약 전체 쿼리라면? WHERE 절 사용이 맞습니다.
SELECT SUM(f1) + SUM(f2) , SUM(f1 + f2) FROM t1 WHERE state = 3 ;
일부분만 발췌한것입니다 state가 2인것도 있고 다른 조건을 타는것도있습니다.