if case~when 같이 사용 0 3 2,764

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) 이렇게 조건을 걸고 하는 방법이있나요? 없다면 다른방법이 있는지 궁금합니다

by 우주민 [2023.04.04 16:29:39]

CASE WHEN STATE = 3 THEN NVL(F1,0) + NVL(F2,0) END

형태면 원하시는 값이 도출 될거 같은데요


by 마농 [2023.04.05 09:44:32]

위 쿼리가 전체 쿼리인가요? 일부분만 발췌한 것일까요?
만약 전체 쿼리라면? WHERE 절 사용이 맞습니다.
 

SELECT SUM(f1) + SUM(f2)
     , SUM(f1 + f2)
  FROM t1
 WHERE state = 3
;

 


by 신제트 [2023.04.05 13:59:36]

일부분만 발췌한것입니다 state가 2인것도 있고 다른 조건을 타는것도있습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입