我有兩張桌子,並且想要返回所有從emp表中以及他們從時鐘表中已經工作的所有員工。如果所有活動僱員的時間都記錄在兩個日期之間,但是如果員工在沒有返回日期之間沒有記錄任何時間,則下面的查詢很有效。我需要所有活躍的員工返回,不管他們是否有時間或不在日期之間。這可以用一個MySQL查詢來完成嗎?
emp table
user active
jblow 1
jdoe 1
dcook 0
ajones 1
timeclock table
user date hours
jblow 2014-06-01 8.3
dcook 2013-12-23 7.5
jdoe 2014-06-03 8.1
jblow 2014-06-02 7.9
jblow 2014-05-23 8.0
SELECT emp.user, emp.active, timeclock.date, timeclock.hours FROM emp JOIN timeclock ON emp.user = timeclock.user AND emp.active = 1 AND timeclock.date BETWEEN "20140601" AND "20140603" ORDER BY emp.user ASC
上面的查詢不會返回ajones,因爲他沒有任何時間記錄日期,但我需要它返回所有活動的員工。我尋找的結果會是這樣的:
ajones 1 null null
jblow 1 2014-06-01 8.3
jblow 1 2014-06-02 7.9
jdoe 1 2014-06-03 8.1
爲什麼很重要做一個查詢?你有什麼嘗試? –