SELECT
events.[max],
events.title,
events.[date],
events.eventContact,
events.unit,
Count(eventAttendance.attended) AS attendanceTotal
FROM
(client INNER JOIN eventAttendance
ON client.clientID=eventAttendance.clientID)
INNER JOIN events ON eventAttendance.ID=events.id
WHERE
events.unit='CTL'
AND eventAttendance.attended = 'yes'
GROUP BY
events.[max],
events.title,
events.[date],
events.eventContact,
events.unit;
Я изменил агрегатную функцию с Sum () на Count ().Обратите внимание, что агрегатная функция не включается в предложение GROUP BY - в GROUP BY перечислены только поля (или выражения полей), которые определяют группы, NOT любые агрегатные функции.
Я также добавил квадратные скобки вокруг имен полей max и date, потому что оба являются зарезервированными словами --- заключение в скобки имен снижает риск путаницы для механизма базы данных.
Edit : Ваша картинка, которая показывает отношения, также показывает, что у вас есть дополнительные зарезервированные слова в качестве имен полей.Предлагаем вам скачать Allen Browne Утилита проверки проблем с базой данных и проверить ваше приложение с ней.Он будет предупреждать вас о зарезервированных словах, а также о других потенциальных проблемах с «уловками».