2016-06-14 2 views
0

MS 쿼리에서 SQL을 수정하려고하는데이 코드를 제출할 때 제목의 오류가 반환됩니다. 이 경우 AS에 어떤 문제가 있습니까? 다른 곳에서이 작업을 수행하려고 할 수는 있지만 Query를 작동시킬 수 있다면 가장 간단 할 것입니다. 감사합니다 * 또는 AS가 필요하지 않도록 코드를 개선 할 수있는 방법이 있습니까?MS Query 키워드 'AS'근처의 잘못된 구문

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)) 

답변

0

너무 많은 오류가있는 SQL 문을 본 적이 없습니다. 일부 문제는 다음과 같습니다.

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 
    )