Eu tenho 3 tabelas
Empregados (EmpID, FN, LN)
Treinamentos Requeridos (TrainingID, TrainingName)
Treinamentos concluídos (CompletedID, EmployeeName (campo de pesquisa do Employee), TrainingName (campo de pesquisa de Training Required), Data de Conclusão)
Eu então criei consultas para exibir todas as informações dentro das tabelas
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;
Se um funcionário fizer um treinamento, ele será rastreado na tabela de treinamentos concluída. Eu preciso criar uma consulta que mostrará todos os treinamentos listados nos treinamentos necessários para todos os funcionários da tabela de funcionários, independentemente de eles estarem na tabela de treinamento concluída. No entanto, se estiver na tabela de treinamento completa, quero listar a data em que o treinamento foi realizado.
Eu posso obter uma consulta para listar todos os funcionários com todos os treinamentos com o seguinte código 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 "*"));
No entanto, não consigo que as informações completas funcionem corretamente. Eu tentei uma união e a quantidade de colunas não corresponde. Se eu adicionar colunas nulas no meu SQL, recebo um erro de incompatibilidade de dados. Qualquer ajuda seria muito apreciada.