私は自分のDBとしてアクセスして、SchoolGradeの各受験者の受験件数を合計しようとしています。いくつかの基本的な情報:SchoolGradeには多くの学生がいます、学生はテストの試みは主題別に記録されています。私は、各SchoolGradeの科目で取られた合計試験の試行を更新したいと思っています。以下 は私のクエリです:Access Error SQL with Sum Error
UPDATE [SchoolGrade] AS SG
INNER JOIN [Student] AS S ON S.schoolgrade_id = SG.id
SET SG.[Total Reading Test Attempts] = SUM(S.[Reading Test Attempts]),
SG.[Total Math Test Attempts] = SUM(S.[Math Test Attempts]),
SG.[Total Science Test Attempts] = SUM(S.[ScienceTest Attempts]);
私は、次のエラーを取得しています:
You tried to execute a query that does not include the specified expression 'Total Reading Test Attempts' as part of an aggregate function.
が、私はこのエラーをどのように修正すればよいですか?
:最大
クリーン:
が更新を実行しs.sum_science から[SchoolGrade] AS SG INNER JOIN [学生] AS S FROM sum_science として(sum_readingとして([試験試行を読む])、 SUMをs.schoolgrade_idを選択sum_mathとして SUM([数学テスト試行])、 SUM([サイエンス試験試行]) GROUP BY s.schoolgrade_id )s ON S.schoolgrade_id = SG.id '。 – user908759
's'エイリアスの' AS'がありません。また、AccessはJOINSによる更新をクエリに対して実行しません。これを試みると、 '操作で更新可能なクエリを使用する必要があります'というエラーが返されます。 [UPDATEクエリ内でSELECTを使用する](http://stackoverflow.com/questions/871905/use-select-inside-an-update-query)を参照してください。 –
C Perkins作業から更新するテーブルを作成する!ありがとうございました! – user908759