SELECT A.USER_CD,A.USER_NAME,CASE A.SEX_DIS WHEN '1' THEN '男' else '女' end as SEX_DIS,(A.EMAIL_ADDRESS1 + ' 、'++ A.EMAIL_ADDRESS2 )as Email_Address,
               ((case A.MOBILE_CMP when '0' then 'AU' end as mobile_cmp) + ' '  + A.MOBILE_NUMBER) as Mobile,A.OPEN_FLG FROM 
                M_USER A,M_DEPARTMENT B WHERE (user_cd IS NULL OR USER_CD like '%'+ '0020700' + '%') AND (user_name IS NULL OR USER_NAME LIKE '%' + '高華' +'%' ) 
                and (department_name is null or B.DEPARTMENT_NAME like '%' + '002000' + '%') AND A.DEPARTMENT_CD = B.DEPARTMENT_CD
                ORDER BY USER_CD
运行的时候会抱 Incorrect syntax near the keyword 'as'.到底是什么原因啊?

解决方案 »

  1.   

    在关键字 'as' 附近有语法错误。
    (case A.MOBILE_CMP when '0' then 'AU' end  + ' '  + A.MOBILE_NUMBER) as Mobile
      

  2.   

    应该是两次as引起的 改成这样
    SELECT A.USER_CD,A.USER_NAME,CASE A.SEX_DIS WHEN '1' THEN '男' else '女' end as SEX_DIS,(A.EMAIL_ADDRESS1 + ' 、'++ A.EMAIL_ADDRESS2 )as Email_Address, 
                   case A.MOBILE_CMP when '0' then 'AU'+' '+A.MOBILE_NUMBER else A.MOBILE_NUMBER end as mobile_cmp,A.OPEN_FLG FROM  
                    M_USER A,M_DEPARTMENT B WHERE (user_cd IS NULL OR USER_CD like '%'+ '0020700' + '%') AND (user_name IS NULL OR USER_NAME LIKE '%' + '高華' +'%' )  
                    and (department_name is null or B.DEPARTMENT_NAME like '%' + '002000' + '%') AND A.DEPARTMENT_CD = B.DEPARTMENT_CD 
                    ORDER BY USER_CD