我有两个简单的表格:
员工应每天提交1份报告。
现在,需要: 一目了然地看到员工提交的所有报告,没有报告的员工只会显示一个空白的REPORT字段。基本上这意味着所有员工都会被列出,无论他们是否有报告
我的GUI上的示例输出:
2012-01-03
Employee 1 : I ate a burger
Employee 2 : I ate french frice
Employee 3 :
Employee 4 : i ate hotdog
我可以轻松地在多个SQL查询中执行此操作.1用于按特定顺序列出所有员工,另一个用于查询员工的每个报告。
当然没有效率..
我可以轻松地在employee表上创建employee_reports的LEFT JOIN,但是
问题:由于我必须针对特定的报告日期,因此mYSQL仅输出具有REPORT的员工..未提交的人员未列出。
这是我的基本sql
的示例SELECT
employees.eid,
employees.fname,
employees.lname,
employee_reports.report
FROM
employees
LEFT JOIN employee_reports ON employees.eid = employee_reports.eid
WHERE
report_date = '2013-01-03'
我可以在一个查询中执行此操作吗?
答案 0 :(得分:2)
您的位置也需要能够检查空值,因此请将其设为
SELECT
employees.eid,
employees.fname,
employees.lname,
employee_reports.report
FROM
employees
LEFT JOIN employee_reports ON employees.eid = employee_reports.eid
WHERE
report_date = '2013-01-03'
OR report_date IS NULL