2013-11-28 71 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好问题... –