2014-01-09 43 views
1

第一個問題......SQL語法錯誤 - 多計多目標 - MS ACCESS

我一直在研究這個網站,發現一個SQL應該幫助我......但我發現了一個錯誤,我解決不了。請看下面的SQL和錯誤:

SELECT field1, 
    Sum(IIf(status = "Accepted", 1, 0)) AS [field1_Accepted] 
    Sum(IIf(status = "Rejected", 1, 0)) AS [field1_Rejected] 
    Sum(IIf(status = "Cancelled", 1, 0)) AS [field1_Cancelled] 
FROM tbl1 
GROUP BY field1; 

錯誤:SELECT語句包含保留字或拼寫錯誤或缺少變量名,或標點符號不正確。 (錯誤3141)

我從這個查詢的期望是這一個:

field1/accepted/rejected/cancelled 
a/1/2/3 
b/2/3/5 
c/2/3/4 

信件應該是我FLD1名稱和其他數字應該是多少場已經接受,拒絕和取消狀態計數。 ..

回答

3

表達式在SELECT聲明需要用逗號分隔。您在列表達式之間缺少逗號:

SELECT field1, 
    Sum(IIf(status = "Accepted", 1, 0)) AS [field1_Accepted], -- <<== Here 
    Sum(IIf(status = "Rejected", 1, 0)) AS [field1_Rejected], -- <<== Here 
    Sum(IIf(status = "Cancelled", 1, 0)) AS [field1_Cancelled] 
FROM tbl1 
GROUP BY field1;