2017-10-12 11 views
2

私はそれを得るためにどのように特定の日のために不在のユーザリストを取得したいmysqlで不在のユーザーリストを取得する方法..?

employees 
----------------------- 
empId Name MobileNumber 
1  Name1 12345 
2  Name2 123456 
3  Name3 1234567 
4  Name4 12345678 

attendance 
------------------------------------------- 
Id MobileNumber Type attendance_datetime 
1  12345   IN  2017-05-31 10:04:42 
2  123456   IN  2017-05-31 10:05:29 
3  1234567   IN  2017-05-31 10:06:15 
4  12345   OUT  2017-05-31 18:05:15 
5  123456   OUT  2017-05-31 18:10:15 
6  1234567   OUT  2017-05-31 18:15:15 

以下のようにテーブルを持っていますか?

私は以下のクエリを試しましたが、結果をゲットしませんでした。

select * from employees e,attendance a where e.MobileNumber = a.MobileNumber AND DATE(a.attendance_datetime) = str_to_date('31-05-2017', '%d-%m-%Y') 

答えて

2

あなたは左外部結合を使用する必要があります。私はそれが結果を与えるものではありません日付条件を追加する場合は、日付について

SELECT * FROM employees e 
LEFT JOIN attendance ON employees.MobileNumber = attendance.MobileNumber 
AND DATE(attendance_datetime) = '2017-05-31' 
WHERE attendance.Id IS NULL 
+0

おかげが、何... –

+0

ちょうどのように参加するために日付条件を追加します私の答えで更新されたクエリ。 – Lamar