У меня есть запрос и стол. Запрос «EmployeeTraining» включает имя сотрудника и учебный курс, который они приняли, дату и срок действия. То, что я хочу вернуть LeftJoin, - это ВСЕ доступные учебные курсы и курсы, которые не хватает каждому сотруднику, поэтому в сущности любые нули.Слева Join не вернет нули?
Всего в разделе «Применимое обучение» имеется 5 записей. Некоторые сотрудники взяли только 4/5 курсов и имеют только 4 записи в записи «EmployeeTraining». Не следует ли присоединиться к объединению, вернуть 5-й предмет тренировки для этого конкретного сотрудника с нулями в «датэтах» и «истечении»?
образца Применимо обучение:
- WHMIS
- Первая помощь
- CPR
- Пропан
- TDG
Образец EmployeeTraining
- Сэм | WHMIS | 05/03/2011 | 05/03/2012
- Сэм | Первая помощь | 06/09/2010 | 06/09/2011
- Сэм | CPR | 05/03/2011 | 05/03/2012
- Сэм | Пропан | 12/03/2015 | 12/03/2018
Желательные Результаты
- Сэм | WHMIS | 05/03/2011 | 05/03/2012
- Сэм | Первая помощь | 06/09/2010 | 06/09/2011
- Сэм | CPR | 05/03/2011 | 05/03/2012
- Сэм | Пропан | 12/03/2015 | 12/03/2018
- Сэм | TDG | |
Это левое соединение, сгенерированное с помощью Design View on Access, но оно не возвращает никаких нулей.
SELECT ApplicableTraining.AppTraining,
EmployeeTraining.Employee,
EmployeeTraining.DateTaken,
EmployeeTraining.Expiry
FROM ApplicableTraining LEFT JOIN EmployeeTraining ON ApplicableTraining.AppTraining = EmployeeTraining.Training;
Я загрузил мою базу данных здесь https://drive.google.com/open?id=0B7foIFlbSH78cFpJOHFsYkxiUlU
Добавить таблицу данных таблицы и ожидаемый результат. – jarlh
По-видимому, нет курсов без каких-либо сотрудников. – jarlh
Некоторые сотрудники прошли 4/5 учебных курсов и имеют 4 записи в запросе. Не должен ли Left Join возвращать 5-й курс обучения с нулями в «DateTaken» и Expiry? – Macellaria