2013-11-28 70 views
0

我 'FROM子句語法錯誤' 得到一個錯誤,當我嘗試當我的情況下運行:CASE WHEN SQL提供了錯誤

select ewc_code, shortclass as EWCDesc, tonnage as tonnes, 
     waste_fate as fate, 'deposit wpa' as destination 
from hwi 
CASE waste_fate 
    WHEN 'Transfer (r)' THEN 'Transfer' 
    When 'Transfer (d)' then 'transfer' 
else waste_fate 
+3

你到底想幹什麼? –

回答

0

你失蹤的END

CASE WHEN waste_fate = 'Transfer (r)' THEN 'Transfer' 
     WHEN waste_fate = 'Transfer (d)' THEN 'transfer' 
     ELSE waste_fate END 

這返回一個標量,你需要考慮你想要做什麼。 絕大多數機會是,您希望將其添加到您的SELECT條款中,而不是您的FROM條款。

+0

爲什麼downvote? –

+0

@MostyMostacho - 以任何方式添加丟失的'END' .. –

+1

+1注意正確;) –

1

首先,CASE應該位於您的查詢內,很可能在SELECT子句中。

其次你在你的CASE聲明中缺少END

SELECT ewc_code, shortclass as EWCDesc, tonnage as tonnes, waste_fate as fate, 
    'deposit wpa' as destination, 
    CASE waste_fate 
    WHEN 'Transfer (r)' THEN 'Transfer' 
    WHEN 'Transfer (d)' THEN 'transfer' 
    ELSE waste_fate 
    END 
FROM hwi 
+0

爲什麼downvote? –

+0

+1好問題... –