Подсчитать общее количество участников - PullRequest
0 голосов
/ 17 октября 2011

Я пытаюсь определить общее количество людей, которые посетили мероприятия, проводимые определенной группой.

Я хочу отобразить общее количество участников, максимально допустимое посещение, заголовок события, дату события,и контактное лицо события.Я пробовал следующий запрос по-разному, но продолжал получать диалоговое окно «введите значение параметра» в MS Access 2007. Что мне нужно изменить?

SELECT sum(eventAttendance.attended) AS attendanceTotal, events.max, events.title, events.date, events.eventContact, events.unit
    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 attendanceTotal, events.max, events.title, events.date, events.eventContact, events.unit;

Спасибо.

Таблица отношений

1 Ответ

2 голосов
/ 18 октября 2011
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 Утилита проверки проблем с базой данных и проверить ваше приложение с ней.Он будет предупреждать вас о зарезервированных словах, а также о других потенциальных проблемах с «уловками».

...