【发布时间】:2014-09-21 20:18:34
【问题描述】:
我被一个复杂的 MySQL 查询困住了。我有以下表格:
[employee]
id
name
[department]
id
name
[employee_department_relation]
id
employee_id
department_id
[attendance]
id
employee_id
date
注意:只有当员工在该日期在场时,才会记录出勤率。没有为旷工设置特定标志。
我需要查明,在特定日期哪个部门有多少员工缺勤。
到目前为止,我已经按照 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'
我该如何继续?
【问题讨论】:
-
自己尝试一下,然后寻求帮助。 这不是免费的编码服务
-
你已经尝试了什么?请发布您的mysql方法,然后我们可以为您提供帮助。
标签: php mysql sql query-optimization