我有兩個表,就像這樣:如何返回從表中「失蹤」行 - 員工缺席報告
master
---------
empcode INT PRIMARY KEY
name VARCHAR
dept VARCHAR
emp_tx
----------
empcode INT references MASTER(empcode)
s_date DATETIME
的emp_tx
表記錄員工「in」和「出」的交易。當「中」或「出」事件發生的柱s_date
存儲時間(作爲DATETIME值)。該交易與辦公區(通過指紋生物識別系統)記錄
實例數據從emp_tX表:
empcode s_datetime
------- ------------------
1110 2012-12-12 09:31:42 (employee in time to the office)
1110 2012-12-12 13:34:17 (employee out time for lunch)
1110 2012-12-12 14:00:17 (employee in time after lunch)
1110 2012-12-12 18:00:12 (employee out time after working hours)
1112
etc.
注: 如果員工是在辦公室缺席給定日期,那麼沒有行將被插入該日期的emp_tx
交易表中。在給定日期沒有僱員時,該僱員和那個日期會有一行「缺失」。
誰能幫助我得到一個返回員工缺席,以產生一個員工缺席報告日期的SQL查詢?
輸入到查詢將是兩個日期值,一個「來自」日期和a「到」日期,指定日期範圍。查詢應返回的「缺位」所有出現(或不出現,而,非,如果沒有行的EMP_TX
表中找到一個empcode
任何日期「從」和「到」日期之間。
預期輸出:
如果我們輸入'2012-12-12'作爲「from」日期,'2012-12-20'作爲「to」日期,則查詢應該返回如下所示的行:
Empcode EmpName Department AbsentDate TotalNoofAbsent days
------- ------- ---------- ----------- --------------------
1110 ABC Accounts 2012-12-12
1110 ABC Accounts 2012-12-14 2
1112 xyz Software 2012-12-19
1112 xyz Software 2012-12-17 2
我已經試過此查詢,我相信它沒有返回我想要的行:
和select tx.date from Emp_TX as tx where Date(S_Date) not between '2012-12-23' and '2012-12-30'
感謝。
讓我成爲第一個和疑惑,最後問*你嘗試過什麼* –
什麼是你的目標?不能不保留問題 –
你嘗試過什麼嗎?如果是的話,請在這裏發佈你的SQL查詢,專家將幫助你糾正查詢。 –