У меня есть 3 таблицы: Сотрудники (EmpID, FN, LN) Обязательные тренинги (TrainingID, TrainingName) Завершенные тренинги (CompletedID, EmployeeName (поле поиска от Employee), TrainingName (поле поиска из обязательных тренингов), Дата завершения)
Затем я создал запросы для отображения всей информации в таблицах
SELECT CaregiverInformation.CaregiverID, CaregiverInformation.FirstName, CaregiverInformation.LastName
FROM CaregiverInformation;
SELECT CaregiverCompletedTraining.TrainingRecordID, CaregiverCompletedTraining.Caregiver, CaregiverCompletedTraining.Training, CaregiverCompletedTraining.CompletedDate, CaregiverCompletedTraining.ExpiredDate, IIf(Date()>=[ExpiredDate],"Expired","Current") AS IsExpired
FROM CaregiverCompletedTraining;
SELECT RequiredTrainings.TrainingID, RequiredTrainings.TrainingName, RequiredTrainings.Required
FROM RequiredTrainings;
Если сотрудник проходит обучение, оно отслеживается в таблице завершенных тренингов. Мне нужно создать запрос, который покажет все тренинги, перечисленные в рамках обязательных тренингов для всех сотрудников в таблице сотрудников, независимо от того, находятся ли они в таблице завершенных тренировок. Однако, если он находится в таблице завершенных тренировок, я хочу, чтобы в ней была указана дата проведения обучения.
Я могу получить запрос, чтобы перечислить всех сотрудников со всеми тренингами с помощью следующего кода SQL
SELECT qry_CaregiverInformation.CaregiverID, qry_CaregiverInformation.FirstName, qry_CaregiverInformation.LastName, qry_RequiredTrainings.TrainingName
FROM qry_CaregiverInformation, qry_CompletedTrainings, qry_RequiredTrainings
WHERE (((qry_CaregiverInformation.CaregiverID) Like "*") AND ((qry_RequiredTrainings.TrainingName) Like "*"));
Однако я не могу получить полную информацию для правильной работы. Я пробовал объединение, и количество столбцов не совпадает. Если я добавляю пустые столбцы в мой SQL, я получаю ошибку несоответствия данных. Любая помощь будет принята с благодарностью.