Php 如何编写MySQL查询来检测丢失(缺席)记录?
我被一个复杂的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,但它
[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方法,然后我们可以帮助您。它至少适用于基本版本。我将尝试添加更多记录。谢谢