Как выбрать только одну из нескольких записей в запросе отчета MS Access

Theo спросил: 13 октября 2017 в 06:13 в: ms-access

Я действительно надеюсь, что кто-то может помочь мне с этим вопросом. Мы с коллегой создали базу данных для отслеживания обучения более 300 сотрудников. Мы создали отчет "Отчет о проделанной работе", чтобы показать прогресс сотрудников к двухлетнему 80-часовому требованию для некоторых тренингов. Существуют определенные тренинги, которые необходимо проходить каждый год или два года, но они должны учитываться только один раз в отчете о ходе работы. Вот запрос sql:

SELECT [Employees Extended].Section, [Employees Extended].[Employee Name], Training.[Training Course], Training.Hours, Training.Category, Training.[Training Start Date], DLookUp("[BeginDate]","[DateIntervals]","Date()>[DateIntervals]![BeginDate]") AS BGN, DLookUp("[EndDate]","[DateIntervals]","Date()<[DateIntervals]![EndDate]") AS [END]
FROM Training INNER JOIN ([Employees Extended] INNER JOIN Employees ON [Employees Extended].[Employee ID] = Employees.[Employee ID]) ON Training.[Employee ID] = Employees.[Employee ID]
WHERE (((Training.Category)="Continuing Education") AND ((Training.[Training Start Date]) Between (DLookUp("[BeginDate]","[DateIntervals]","Date()>[DateIntervals]![BeginDate]")) And (DLookUp("[EndDate]","[DateIntervals]","Date()<[DateIntervals]![EndDate]")))) OR (((Training.[Training Course])="Privacy Training") AND ((Training.[Training Start Date]) Between (DLookUp("[BeginDate]","[DateIntervals]","Date()>[DateIntervals]![BeginDate]")) And (DLookUp("[EndDate]","[DateIntervals]","Date()<[DateIntervals]![EndDate]")))) OR (((Training.[Training Course])="Ethics Training") AND ((Training.[Training Start Date]) Between (DLookUp("[BeginDate]","[DateIntervals]","Date()>[DateIntervals]![BeginDate]")) And (DLookUp("[EndDate]","[DateIntervals]","Date()<[DateIntervals]![EndDate]")))) OR (((Training.[Training Course])="PRA Training") AND ((Training.[Training Start Date]) Between (DLookUp("[BeginDate]","[DateIntervals]","Date()>[DateIntervals]![BeginDate]")) And (DLookUp("[EndDate]","[DateIntervals]","Date()<[DateIntervals]![EndDate]"))));

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

Отчет о проделанной работе в основном предназначен для обучения в категории "Непрерывное образование". Но есть три обязательных тренинга (тренинг по конфиденциальности, тренинг по этике и тренинг PRA), которые также должны быть включены. Именно эти три тренинга будут проводиться каждый год или два года.

Есть ли способ настроить запрос, который мне уже нужен, чтобы получить только один из каждого из этих трех тренингов?

0 ответов