2013-03-14 4 views
1

이 항상 나를 궁금했다,어떻게하면 플러스/마이너스를 if에 넣을 수 있습니까?

내가이 상황이 말할 수 있습니다 :

select (...long sub query..) - (...long sub query..) 

을 그리고 나는 그것이 - 때로는 + 될 것입니다 때로는 의미 상태에서 -을 데려 가고 싶다는, 거기인가 이 작업을 쉽게 수행 할 수 있습니까? 내가 아는 방법은 다음과 같습니다 읽고 유지 또는 저장 프로 시저로 퍼 팅하는 쿼리 어렵게

select if(condition,(...long sub query..) - (...long sub query..), 
    (...long sub query..) + (...long sub query..)) 

, 이는 차라리하지 않는 게 좋을.

어떤 종류의 var에 산술 연산을 넣을 수 있고 어떻게 든 연결할 수 있습니까?

select (...long sub query..) if(condition,-,+) (...long sub query..) 
+0

당신이 함께 넣을 수 있습니다 명세서에 연결하는 데 사용할 수 있습니다 SQL Fiddle에 대한 구체적인 예? 이 추상적 인 예제 – amphibient

+0

@ amphibient와 관련하기가 어렵습니다. 그는 'IF'에서 하위 쿼리를 다시 사용하고 싶지 않습니다. –

답변

5

아니, 당신은 할 수 없습니다 : 내가 실현하려 노력하고있어

뭔가 같다.

그러나, 대신 곱셈을 사용할 수 있습니다

(...) + IF(..., -1, +1) * (...) 
+0

'query1 + query2 * if()'가 아닌가? –

+1

@ eric.itzhak : 곱셈은 교환 가능합니다 – SLaks

+0

누군가가 묻는다면 나는 결코 이상을 말하지 않았습니다 :) –

-1

많은 질문을 이해하지 못했다하지만 당신은 문자열이나 문자 변수에 모든 문자를 저장하고

관련 문제