当我尝试在以下情况下运行案例时,我收到一个错误"来自子句的语法错误":
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
首先,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
您缺少一个END
:
CASE WHEN waste_fate = 'Transfer (r)' THEN 'Transfer'
WHEN waste_fate = 'Transfer (d)' THEN 'transfer'
ELSE waste_fate END
这会返回一个标量,你需要思考你想用它做什么。大多数情况下,您希望将其添加到SELECT
子句中,而不是FROM
子句中。