2013-04-09 1 views
0

다소 복잡한 경우를 생각합니다. 내가 달성하고자하는 것은 이것이다 :TOAD SQL 사례문

DATE + 365 OTHERDATE 이하이며

이 지금 내 코드는 다음과 같습니다 THEN '올바른'YETANOTHER 날짜 같을 때 :

(CASE WHEN ((X2.TERMDATE + 365) < X1.LASTHIRE) IS (X1.ORIGINALHIRE) THEN 'Correct' 

WHEN ((X2.TERMDATE + 365) < X1.LASTHIRE) IS (X3.LASTHIRE) THEN 'Correct' 

WHEN ((X2.TERMDATE + 365) > X1.LASTHIRE) IS (X1.LASTHIRE) THEN 'Correct' 

ELSE 'ERROR' END) 

이것이 가능한가? 내가 어디로 잘못 가고 있니?

답변

1

는 잘 모르겠지만, 문제가이 부분에 생각 :

IS (X1.ORIGINALHIRE) 

당신은 아마 아직도 아무튼

and something = x1.originalhire 
+0

변경하기는 =이다 이런 종류로 교체해야 일하지 마라. '핵심어를 놓치 셨습니다'라는 오류가 나타납니다. – user1475816

+0

@ user1475816 IS를 =로 바꾸는 것만으로는 충분하지 않습니다. 'IS (X1.ORIGINALHIRE) '를'AND (X2.TERMDATE + 365) = X1.ORIGINALHIRE'로 변경하고 다른 행을 비슷하게 변경해보십시오. –

+0

그게 문제를 해결 한 것입니다 (추가 조정이 필요함) - 고마워요! – user1475816