首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS查询关键字'AS‘附近的语法不正确

MS查询关键字'AS‘附近的语法不正确
EN

Stack Overflow用户
提问于 2016-06-14 18:31:24
回答 1查看 124关注 0票数 0

我正在尝试修改MS查询中的SQL,当我提交此代码时,返回标题中的错误。在这种情况下,AS有什么问题?我可以尝试在其他地方做这件事,但如果我能让Query工作,那将是最简单的。谢谢*或者有没有办法改进代码,让AS不再是必需的?

代码语言:javascript
复制
SELECT 
ARM_GP_GROUPINGS.GrpCode, 
arm_cc_group_names.cc_name, 
CST_COSTCENTRE.CC_CODE, 
CST_COSTCENTRE.CC_NAME,
CST_COSTCENTRE.CC_LEVELPOINTER,
CST_COSTHEADER.CH_CODE, 
CST_COSTHEADER.CH_NAME, 
CST_COSTHEADER.CH_USER3, 
CST_COSTHEADER.CH_USER4, 
CST_DETAIL.CT_NETT, 
CST_DETAIL.CT_SORTTYPE, 
CST_DETAIL.CT_PERIODNUMBR, 
CST_DETAIL.CT_YEAR, 
SL_ACCOUNTS.CUCODE, 
SL_ACCOUNTS.CUNAME, 
CST_COSTHEADER.CH_CODE

FROM
MWLIVE.dbo.CST_DETAIL CST_DETAIL  
AS  Detail 
INNER 
JOIN MWLIVE.dbo.CST_COSTCENTRE CST_COSTCENTRE  
AS  Costcentre 
ON Costcentre.CC_CODE = Detail.CT_COSTCENTRE
INNER
JOIN MWLIVE.dbo.CST_COSTHEADER CST_COSTHEADER
AS Costheader
ON Costheader.CH_CODE = Costcentre.CC_COPYHEADER
LEFT OUTER
JOIN Costcentre
ON Costcentre.CC_LEVELPOINTER = MWLIVE.dbo.arm_cc_group_namesarm_cc_group_names.cc_levelpointer
LEFT OUTER
JOIN Costheader  
ON Costheader.CH_ACCOUNT = MWLIVE.dbo.SL_ACCOUNTS SL_ACCOUNTS.CUCODE
INNER
JOIN Costheader
ON Costheader.CH_CODE = MWLIVE.dbo.ARM_GP_GROUPINGS ARM_GP_GROUPINGS.ch_code

WHERE ((CST_DETAIL.CT_YEAR='C') AND (CST_DETAIL.CT_PERIODNUMBR=1))
EN

回答 1

Stack Overflow用户

发布于 2016-06-28 00:21:41

我从来没有见过有这么多错误的SQL语句!以下是您的一些问题:

代码语言:javascript
复制
SELECT ARM_GP_GROUPINGS.GrpCode    --ARM_GP_GROUPINGS does not exist as table or alias
  ,arm_cc_group_names.cc_name      --arm_cc_group_names does not exist as table or alias
  ,CST_COSTCENTRE.CC_CODE          --Should it be the alias Costcentre not CST_COSTCENTRE
  ,CST_COSTCENTRE.CC_NAME          --AS above
  ,CST_COSTCENTRE.CC_LEVELPOINTER  --AS above
  ,CST_COSTHEADER.CH_CODE          --Should it be the alias Costheader not CST_COSTHEADER
  ,CST_COSTHEADER.CH_NAME          --AS above
  ,CST_COSTHEADER.CH_USER3         --AS above
  ,CST_COSTHEADER.CH_USER4         --AS above
  ,CST_DETAIL.CT_NETT              --Should it be the alias Detail not CST_DETAIL
  ,CST_DETAIL.CT_SORTTYPE          --As above
  ,CST_DETAIL.CT_PERIODNUMBR       --As above
  ,CST_DETAIL.CT_YEAR              --As above 
  ,SL_ACCOUNTS.CUCODE
  ,SL_ACCOUNTS.CUNAME
  ,CST_COSTHEADER.CH_CODE          --Should it be the alias Costheader not CST_COSTHEADER
FROM MWLIVE.dbo.CST_DETAIL CST_DETAIL AS Detail --Double Alias
  INNER JOIN MWLIVE.dbo.CST_COSTCENTRE CST_COSTCENTRE AS Costcentre --Double Alias
    ON Costcentre.CC_CODE = Detail.CT_COSTCENTRE
  INNER JOIN MWLIVE.dbo.CST_COSTHEADER CST_COSTHEADER AS Costheader --Double Alias
    ON Costheader.CH_CODE = Costcentre.CC_COPYHEADER
  LEFT JOIN Costcentre --Your joining to a table already defined as an alias
    ON Costcentre.CC_LEVELPOINTER = MWLIVE.dbo.arm_cc_group_namesarm_cc_group_names.cc_levelpointer
  LEFT JOIN Costheader --Your joining to a table already defined as an alias
    ON Costheader.CH_ACCOUNT = MWLIVE.dbo.SL_ACCOUNTS SL_ACCOUNTS.CUCODE --What is this space?
  INNER JOIN Costheader --Your joining to a table already defined as an alias AGAIN!
    ON Costheader.CH_CODE = 
      MWLIVE.dbo.ARM_GP_GROUPINGS ARM_GP_GROUPINGS.ch_code --What is this space?
  WHERE (
    (CST_DETAIL.CT_YEAR = 'C')           --Should it be the alias Detail not CST_DETAIL
    AND (CST_DETAIL.CT_PERIODNUMBR = 1)  --Should it be the alias Detail not CST_DETAIL
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37809492

复制
相关文章

相似问题

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