2017-09-19 3 views
2

Access SQLクエリに問題があります(私はMS SQLに精通しています)。私は過去1年以内に日付にクエリを制限しようとするとエラーが発生します。 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である)ではないということです。あなたはGROUP BYA.Monthを持っている理由と

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; 

が、私は見ていないではなく、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

おっと!私の質問を簡素化しようとしていて、間違ってグループに月を残しました - 「dd」の代わりに「d」がそれを解決しました – Sam