У меня есть база данных Microsoft Access, которая используется для отслеживания обучения сотрудников.
База данных содержит три таблицы:
tblEmployees(EmployeeID, Name, Function)
tblTraining_Courses(CourseID, Title, Desc, Function)
tblTraining_Records(EmployeeID, CourseID, Date, Status)
EmployeeID - это их табельный номер
Имя - имя сотрудника
Функция - это линейка продуктов, которую поддерживает сотрудник - электрическая, световая или обе (многозначный поиск)
CourseID - это идентификационный номер курса
Статус - закончен ли курс
Я пытаюсь запросить таблицу «tblTraining_Records», чтобы узнать, какие сотрудники не прошли курс обучения.
Я последовал другому примеру, опубликованному здесь, и он работает очень хорошо: Stackoverflow: пример MS Access SQL не принят
Однако я также хочу отфильтровать этот запрос на основе того, соответствует ли функция сотрудников функции курсов. Эта функция представляет собой многозначное поле поиска с тремя возможными вариантами выбора: Электрическое, Освещение или Оба. Курсы также могут быть только для электрооборудования, освещения или для обоих.
Вот SQL, который у меня есть для моего запроса.
SELECT nested.EmployeeID, nested.Course_ID
FROM (SELECT distinct EmployeeID, Course_ID FROM tblEmployees, tblTraining_Courses) nested
LEFT JOIN tblTraining_Records r ON r.EmployeeID = nested.EmployeeID AND r.Course_ID = nested.Course_ID
WHERE r.Employee is NULL;
Любая помощь будет принята с благодарностью. Спасибо