SQL出错时的情况

  • 本文关键字:情况 出错 SQL 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

首先,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子句中。

相关内容

最新更新