Я пытаюсь выполнить запрос sql в MS Access. У меня есть таблицы / запросы, к которым я пытаюсь присоединиться.
- MonthlyTargets_0_SPARTN_qry выбирает информацию из SPARTN_Livefeed1
- SPARTN_Livefeed1 содержит тесты, которые были выполнены супервизорами.
- REF_TestCatalog_tbl - список номеров тестов и описание
- REF_TestCategory_tbl - список категорий (сегментов, в которые попадает каждый номер теста)
Запрос работает правильно за исключением того, что мне нужно показать «0», если в течение месяца не было проведено ни одного теста. см. строку 4 в разделе «Ожидаемые результаты»: руководитель не проводил никаких тестов в категории 4 для 1/1 / 2020- (в SPARTN_Livefeed1 нет записей для этого руководителя, выполняющего тестовый номер 134)
MonthlyTargets_0_SPARTN_qry
SELECT SPARTN_Livefeed1.*, DateValue(Month([Date]) & "/1/" & Year([Date])) AS ComplianceMonth
FROM SPARTN_Livefeed1;
SPARTN_Livefeed1
Sheet ID Date Test Number Supervisor ID
OB-1234 1/1/2020 101 806855
OB-5678 1/1/2020 101 806855
OB-9877 1/1/2020 112 806855
OB-5644 1/1/2020 123 806855
OB-5644 1/1/2020 123 806855
REF_TestCatalog_tbl
ID TestId TestDesc TestCategory StartDate EdnDate
1 101 Stopping 1 12/1/2019
2 112 Delay 2 12/1/2019
3 123 Documents 3 12/1/2019
4 134 Radio 4 12/1/2019
REF_TestCategory_tbl
ID CategoryID CategoryDesc StartDate EndDate
1 1 Signals 12/1/2019
2 2 Speed 12/1/2019
3 3 Equipment 12/1/2019
4 4 Operation 12/1/2019
Expected Results
CategoryID TestofficerID Actuals ComplianceMonth
1 806855 2 1/1/2020
2 806855 1 1/1/2020
3 806855 3 1/1/2020
4 806855 0 1/1/2020
ОСНОВНОЙ ЗАПРОС
SELECT REF_TestCategory_tbl.CategoryID,
MonthlyTargets_0_SPARTN_qry.[Supervisor Id] AS TestOfficerID,
Count(MonthlyTargets_0_SPARTN_qry.[Sheet ID]) AS Actuals,
MonthlyTargets_0_SPARTN_qry.ComplianceMonth
FROM MonthlyTargets_0_SPARTN_qry
INNER JOIN
( REF_TestCategory_tbl
INNER JOIN REF_TestCatalog_tbl ON REF_TestCategory_tbl.CategoryID = REF_TestCatalog_tbl.TestCategory) ON MonthlyTargets_0_SPARTN_qry.[Test Number] = REF_TestCatalog_tbl.TestID
GROUP BY REF_TestCategory_tbl.CategoryID, MonthlyTargets_0_SPARTN_qry.[Supervisor Id], MonthlyTargets_0_SPARTN_qry.ComplianceMonth
ORDER BY REF_TestCategory_tbl.CategoryID;