2014-11-14 3 views
0

에서 열에 행동이 다른 질문 Compare 2 columns, then perform action on another column in MySQL경우 - 당시 다른-경우 MySQL의

의 후속 인 내가 MySQL의에서 TABLEX라는 이름의 테이블이 있습니다. TableX에는 4 개의 열이 있습니다. 열은 ColumnCompare_Now, ColumnCompare_Past, ColumnNumber_Now, ColumnNumber_Past입니다.

다음과 같은 논리를 가진 MySQL UPDATE 문을 작성하고 싶습니다.

If ColumnCompare_Now == 'ActionNeeded' and ColumnCompare_Past == 'ActionNeeded', 
     then ColumnNumber_Now = `ColumnNumber_Now` + `ColumnNumber_Past` 
else if ColumnCompare_Now == 'ActionNeeded' and ColumnCompare_Past != 'ActionNeeded' 
     then ColumnNumber_Now = `ColumnNumber_Now` - `ColumnNumber_Past` 

MySQl에서 else if 문을 어떻게 처리 할 수 ​​있습니까?

+0

체크 아웃 할 수 있습니다. –

+0

업데이트 또는 선택의 일부입니까? –

+0

@Abhik Chakraborty : 업데이트 진술의 일부입니다. – user781486

답변

2

조건 업데이트의 경우에는`case` 문을 case

update 
TableX 
set 
ColumnNumber_Now = 
case 
when ColumnCompare_Now = 'ActionNeeded' and ColumnCompare_Past = 'ActionNeeded' 
then `ColumnNumber_Now` + `ColumnNumber_Past` 
when ColumnCompare_Now = 'ActionNeeded' and ColumnCompare_Past != 'ActionNeeded' 
then `ColumnNumber_Now` - `ColumnNumber_Past` 
end 
+0

감사! 테스트를 거쳤습니다. – user781486

관련 문제