2013-04-09 61 views
0

我試圖做我認爲是一個相當複雜的case語句。我想實現的是:TOAD SQL CASE聲明

當日期+ 365小於OTHERDATE,它等於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 2013-04-09 18:13:30

+0

@ user1475816只是將IS更改爲=是不夠的。嘗試將「IS(X1.ORIGINALHIRE)」更改爲「AND(X2.TERMDATE + 365)= X1.ORIGINALHIRE」,並相似地更改其他行。 – 2013-04-09 18:18:07

+0

解決了這個問題(附加一些調整) - 謝謝! – user1475816 2013-04-09 20:23:27