Это моя модель данных:
![enter image description here](https://i.stack.imgur.com/0VbGa.png)
Мне нужно получить среднее имя, фамилию и личные голоса всех учащихся в классе, которые имеют среднее ниже, чем среднее количество голосов всех учащихся в классе. После желаемого результата:
+---------+------+--------+-------------+---------------+
| surname | name | class | class_avg | studend_avg |
+---------+------+--------+-------------+---------------+
| b | b | 1 | 4.1250 | 2.7500 |
+---------+------+--------+-------------+---------------+
Я написал следующий запрос, который корректно работает в базе данных mariadb:
SELECT student.surname, student.name, student.classroom, classroom.average AS classroom_average, AVG(vote.vote) AS student_average
FROM (student INNER JOIN vote ON student.fiscalcode = vote.fiscalcode)
INNER JOIN
(select student.classroom AS classroom, AVG(vote.vote) AS average
FROM student INNER JOIN vote ON student.fiscalcode = vote.fiscalcode
GROUP BY student.classroom) AS classroom
ON student.classroom=classroom.classroom
GROUP BY student.surname, student.name, student.classroom, classroom.average
HAVING AVG(vote.vote) < classroom.average;
Но у меня есть эта ошибка в MS Access:
Ваш запрос не включает указанное выражение «AVG (voice.vote) / AVG (voice.vote)
Есть еще один более простой метод написать этот запрос?