Приведенный ниже запрос возвращает записи, в которых DATE_SENT_TO_REGISTRATIONS находится между двумя датами: -
SELECT TBLBROKERAGESNEW.BROKERAGE_NAME, Count(TBLBROKERAGESNEW.BROKERAGE_NAME) AS CountOfBROKERAGE_NAME
FROM TBLQUOTESNEW LEFT JOIN TBLBROKERAGESNEW ON TBLQUOTESNEW.BROKERAGE_ID = TBLBROKERAGESNEW.ID
WHERE (((TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)>=#6/1/2017#) AND ((TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)<=#6/30/2017#))
GROUP BY TBLBROKERAGESNEW.BROKERAGE_NAME
ORDER BY Count(TBLBROKERAGESNEW.BROKERAGE_NAME) DESC;
Можно ли настроить этот счет так, чтобы он учитывал только брокеров, у которых никогда не было даты отправки регистрации до даты начала (в данном случае 1 июня) - так что по сути новые брокеры в этом месяце?
1 ответ
HAVING
- это предложение WHERE
для сгруппированных записей.
Если вы попытаетесь сказать WHERE Min(TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)>=#6/1/2017#
, вы получите сообщение об ошибке, поскольку у вас не может быть агрегатных (MIN) функций в предложении WHERE
.
Это должно работать:
SELECT TBLBROKERAGESNEW.BROKERAGE_NAME
, Count(TBLBROKERAGESNEW.BROKERAGE_NAME) AS CountOfBROKERAGE_NAME
FROM TBLBROKERAGESNEW INNER JOIN TBLQUOTESNEW ON TBLBROKERAGESNEW.ID = TBLQUOTESNEW.BROKERAGE_ID
GROUP BY TBLBROKERAGESNEW.BROKERAGE_NAME
HAVING Min(TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)>=#6/1/2017#
Чтобы ограничить верхний предел дат июнем, добавьте предложение WHERE
(перед GROUP BY):
WHERE TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS<#7/1/2017#
Похожие вопросы
Новые вопросы
ms-access
Microsoft Access, также известный как Microsoft Office Access, является средством разработки приложений и баз данных от Microsoft. Он сочетает в себе Microsoft Jet / ACE Database Engine с графическим интерфейсом пользователя и инструментами разработки программного обеспечения. Другие механизмы базы данных, такие как SQL Server, также могут использоваться в качестве сервера базы данных для приложений Access.
DATE_SENT_TO_REGISTRATIONS
должен быть> = 1 июня?