首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"as“附近的Case表达式语法错误

"as“附近的Case表达式语法错误
EN

Stack Overflow用户
提问于 2013-01-19 05:56:08
回答 2查看 1.9K关注 0票数 0

我的case表达式出现错误。我只想计算一个条件,然后返回正确的语句。但是我一直在"as“附近得到一个语法错误。

这就是我所拥有的:

代码语言:javascript
复制
left outer join (            
        SELECT wbs1, wbs2, wbs3  
    , case 
            when (ProgramAffiliation = magrann.[programAffiliation_AEP/COHesh2010]()) 
            then '[AEP] as ''AEP1'''
            else [AEP Base] as 'AEP1'
        end
    , [AEP:Non-Compliant Mechanical Ventilation] as 'AEP2'  
    , [AEP - Non Energy Star AC ($90 deduction)] as 'AEP3'  
    , [AEP: Bonus] as 'AEP4'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-19 05:58:59

您的CASE语法错误。您有一个用单引号括起来的列名,并且在两个位置有别名(都是错误的):

代码语言:javascript
复制
 , case 
    when (ProgramAffiliation = magrann.[programAffiliation_AEP/COHesh2010]()) 
    then '[AEP] as ''AEP1'''  -- <-- don't put the column in single quotes and no alias here
    else [AEP Base] as 'AEP1'  -- < don't put the alias here
   end  -- < the alias goes here

所以你的CASE应该是:

代码语言:javascript
复制
, case 
    when (ProgramAffiliation = magrann.[programAffiliation_AEP/COHesh2010]()) 
    then [AEP]
    else [AEP Base] 
    end as AEP1  

别名位于CASE表达式中的END之后。

票数 4
EN

Stack Overflow用户

发布于 2013-01-19 05:58:21

as之前,case中应该有end

代码语言:javascript
复制
case 
  when (ProgramAffiliation = magrann.[programAffiliation_AEP/COHesh2010]()) then [AEP] as 
  else [AEP Base] 
end as [AEP1]
// not else [AEP Base]  as 'AEP1' end

已更新

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14408294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档