Php 如何从数据库表中查找缺少的考勤

Php 如何从数据库表中查找缺少的考勤,php,mysql,Php,Mysql,我有两张表,第一张是员工表,第二张是考勤表。现在,我想找出某个月每个员工的所有缺勤情况。所有缺失的日期都应列在列表中 员工表 emp_code emp_name 1 A 2 B 考勤表 emp_code Log_Date 1 2017-04-01 1 2017-04-02 1 2017-04-03 2 2017-04-01 2 2017

我有两张表,第一张是员工表,第二张是考勤表。现在,我想找出某个月每个员工的所有缺勤情况。所有缺失的日期都应列在列表中

员工表

emp_code emp_name
  1        A
  2        B
考勤表

 emp_code    Log_Date
     1      2017-04-01  
     1      2017-04-02 
     1      2017-04-03   
     2      2017-04-01  
     2      2017-04-02 
     2      2017-04-03   
预期结果

 emp_code    Log_Date
     1      2017-04-04  
     1      2017-04-05 
     1      2017-04-06 
            .
            .
     1      2017-04-30 
     2      2017-04-04  
     2      2017-04-05 
     2      2017-04-06 
            .
            .
     2      2017-04-30 

从员工e中选择e.emp\u名称、a.log\u日期 内部联席a 在…上 (e.emp_代码=a.emp_代码)
a.log_date=''

我找到了我问题的正确答案

我创建了一个month_days表,在其中插入了12个月的所有天数

id date
1  2017-04-1
2  2017-04-2
3  2017-04-3
.
.
30 2017-04-30
31  2017-05-1
32  2017-05-2
33  2017-05-3
.
.
34 2017-05-31
这就是问题所在

SELECT *
FROM month_days d
CROSS JOIN employees e
LEFT JOIN attendances l ON d.date = DATE( l.log_date ) AND 
e.emp_code = l.emp_code
WHERE l.emp_code IS NULL
GROUP BY d.date, e.emp_code

向我们展示一些迄今为止您尝试过的代码?