2013-06-12 33 views
0

我運行下面的查詢: -SQL編碼錯誤

SELECT 
    FISCALYEAR, 
    DATENAME(Month,JVDate) as Month, 
    ACCOUNTNUMBER, 
    ACCOUNTDESCRIPTION, 
    CATEGORY, 
    POSTINGTYPE, 
    sum(ORIGNETAMOUNT) as ORIGNETAMOUNT 
FROM dbo.vw_GLTrialBalancev2010 
INNER JOIN GL00100 
     ON GL00100.ACTNUMBR_1 = dbo.vw_GLTrialBalancev2010.SEGMENT1 
     AND GL00100.ACTNUMBR_2 = dbo.vw_GLTrialBalancev2010.SEGMENT2 
group by FISCALYEAR, 
    DATENAME(Month,JVDate) as Month, 
    ACCOUNTNUMBER, 
    ACCOUNTDESCRIPTION, 
    CATEGORY, 
    POSTINGTYPE, 
    sum(ORIGNETAMOUNT) as ORIGNETAMOUNT 

但得到以下錯誤: -

Msg 156, Level 15, State 1, Line 14 Incorrect syntax near the keyword 'as'.

它必須是一個漫長的一天,因爲今天我的我的生活看不出有什麼問題?

其他人可以發現嗎?

+0

爲 '月';它應該在引號中,我相信 – smk

+0

爲什麼你想按總和來分組?在我之前對你的問題的回答中,並沒有出現在小組中。 –

+0

好吧排序。我拿出了這筆款項,然後也不得不從分組中拿出'as Month'。所有幫助讚賞 – user1086159

回答

1

as是不允許在group by條款。試試這個:

SELECT 
    FISCALYEAR, 
    DATENAME(Month,JVDate) as Month, 
    ACCOUNTNUMBER, 
    ACCOUNTDESCRIPTION, 
    CATEGORY, 
    POSTINGTYPE, 
    sum(ORIGNETAMOUNT) as ORIGNETAMOUNT 
FROM dbo.vw_GLTrialBalancev2010 
INNER JOIN GL00100 
     ON GL00100.ACTNUMBR_1 = dbo.vw_GLTrialBalancev2010.SEGMENT1 
     AND GL00100.ACTNUMBR_2 = dbo.vw_GLTrialBalancev2010.SEGMENT2 
group by FISCALYEAR, 
    DATENAME(Month,JVDate), 
    ACCOUNTNUMBER, 
    ACCOUNTDESCRIPTION, 
    CATEGORY, 
    POSTINGTYPE, 
    sum(ORIGNETAMOUNT) 
1

必須從分組中取出'sum'和'as Month'。

見下文: -

SELECT 
    FISCALYEAR, 
    DATENAME(Month,JVDate) as Month, 
    ACCOUNTNUMBER, 
    ACCOUNTDESCRIPTION, 
    CATEGORY, 
    POSTINGTYPE, 
    sum(ORIGNETAMOUNT) as ORIGNETAMOUNT 
FROM dbo.vw_GLTrialBalancev2010 
INNER JOIN GL00100 
     ON GL00100.ACTNUMBR_1 = dbo.vw_GLTrialBalancev2010.SEGMENT1 
     AND GL00100.ACTNUMBR_2 = dbo.vw_GLTrialBalancev2010.SEGMENT2 
group by FISCALYEAR, DATENAME(Month,JVDate), ACCOUNTNUMBER, 
     ACCOUNTDESCRIPTION, CATEGORY, POSTINGTYPE