我有一個查詢和表。查詢「員工培訓」包括員工姓名,培訓課程,日期和到期日期。我想要LeftJoin返回的是所有可用的培訓課程以及每個員工缺少的課程,所以在本質上,任何空值。左連接不會返回空?
「適用培訓」共有5條記錄。一些員工只參加了4/5課程,並且在「員工培訓」記錄中只有4條記錄。不應該離開加入返回該「特定員工」的第5個培訓項目,並在「datetaken」和「到期」中填入空值?
樣品適用培訓:
- WHMIS
- 急救
- CPR
- 丙烷
- TDG
樣品EmployeeTraining
- Sam | WHMIS | 05/03/2011 | 05/03/2012
- Sam |第一個AID | 06/09/2010 | 06/09/2011
- Sam | CPR | 05/03/2011 | 05/03/2012
- Sam |丙烷| 2015年12月3日| 2018年12月3日
預期的效果
- 山姆| WHMIS | 05/03/2011 | 05/03/2012
- Sam |第一個AID | 06/09/2010 | 06/09/2011
- Sam | CPR | 05/03/2011 | 05/03/2012
- Sam |丙烷| 2015年12月3日| 12/03/2018
- Sam | TDG | |
這是通過Access上的Design View生成的左連接,但它根本不返回任何空值。
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條記錄。不應該離開加入返回第5次培訓課程,在「DateTaken」和到期的空值? – Macellaria