2017-09-19 24 views
2

我遇到了Access SQL查詢問題(我熟悉MS SQL)。我收到一個錯誤,試圖限制我的查詢在過去一年內的日期。 DataTable按照每個城市日期的銷售額進行組織。限制訪問查詢的日期範圍

SELECT A.City, A.Region, Sum(A.Sales) AS TotalRev 
    FROM DataTable AS A 
    WHERE A.Date<=DateAdd("dd",-365,Date()) 
    GROUP BY A.Month, A.City, A.Region 

我收到的錯誤是「無效的程序調用」

回答

2

原因或許是,dd不是在MS Access(這裏是documentation)有效的時間間隔。試試這個:

SELECT A.City, A.Region, Sum(A.Sales) AS TotalRev 
FROM DataTable AS A 
WHERE A.Date <= DateAdd("d", -365, Date()) 
GROUP BY A.Month, A.City, A.Region; 

這麼說,我不明白爲什麼你在GROUP BYA.Month,但不是SELECT。另外,這個查詢與你想要的相反。我期待更多的東西:

SELECT A.City, A.Region, Sum(A.Sales) AS TotalRev 
FROM DataTable AS A 
WHERE A.Date >= DateAdd("yyyy", -1, Date()) 
GROUP BY A.City, A.Region; 
+0

哇 - 這是一個簡單的修復 - 謝謝! – Sam

+0

哎呦,試圖簡化我的查詢,並錯誤地將該月留在了組中 - 「d」而不是「dd」解決了這個問題 – Sam