Php 如何编写MySQL查询来检测丢失(缺席)记录?

Php 如何编写MySQL查询来检测丢失(缺席)记录?,php,mysql,sql,query-optimization,Php,Mysql,Sql,Query Optimization,我被一个复杂的MySQL查询困住了。我有以下表格: [employee] id name [department] id name [employee_department_relation] id employee_id department_id [attendance] id employee_id date 注:仅当员工在该日期在场时,才会记录出勤情况。没有为abseentism设置特定标志 我需要知道,在某个特定日期,哪个部门有多少员工缺席 到目前为止,我已经使用了SQL,但它

我被一个复杂的MySQL查询困住了。我有以下表格:

[employee]
id
name

[department]
id
name

[employee_department_relation]
id
employee_id
department_id

[attendance]
id
employee_id
date
注:仅当员工在该日期在场时,才会记录出勤情况。没有为abseentism设置特定标志

我需要知道,在某个特定日期,哪个部门有多少员工缺席

到目前为止,我已经使用了SQL,但它并不完美:

SELECT A.date, 
(SELECT name FROM employee WHERE id = emp_id) AS employee,
(SELECT D.name AS dept_name
 FROM deptartment D
 INNER JOIN employee_department_relation R ON R.dept_id = D.id
 INNER JOIN employee E ON E.id = R.emp_id
 WHERE R.emp_id = A.emp_id
 ) AS dept
FROM attendance A
WHERE A.date = '2014-07-03'

如何继续?

请随意尝试更改日期:

select employee.name, department.name from employee
left join employee_department_relation r on r.employee_id = employee.id
left join department on department.id = r.department_id
where employee.id not in (
    select employee_id from attendance where date = '2014-07-28'
)

你自己试试看,然后寻求帮助。这不是一个免费的编码服务你已经尝试了什么?请发布您的mysql方法,然后我们可以帮助您。它至少适用于基本版本。我将尝试添加更多记录。谢谢