안녕하세요. 혼자 끙끙대다가 안되겠다 싶어서 이렇게 질문 납깁니다.
기존 쿼리에 where절에 맨 마지막줄에 조회된 데이터중에서 여러 컬럼 값을 계산하여 계산된 값이 0보다 큰 경우에만
조회가 되도록 되어있었습니다.
where ...
...
and (value1 + value2 + value3) > 0
이런식으로요~
이번에 조건 몇가지가 추가되면서 특정컬럼의 값에따라서 0보다 같거나 큰 경우의 데이터도 같이 조회가 되도록 수정해야하는데
어떻게 구현해야될지 몰라서요.
쉽게 말하면 where절 안에서
a = 1 인경우에는
and (value1 + value2 + value3) >= 0
a != 1 인경우에는 기존과 동일하게
and (value1 + value2 + value3) >0
이렇게요. Case문은 결과값으로만 구현이 되니 사용이 어렵고, IF문은 where절 내에 사용이안되니 어떻게 구현해야될지 모르겠어요.
구글링해보니 if문을 where절에 and와 or 연산자로 구현하는 방법으로해서
and ((a=1) and ((value1+value2+value3) >= 0)) or ((a!=1) and ((value1+value2+value3) > 0)) 이렇게 사용해봤는데 안되네요..
아시는분 답변 부탁드립니다. |