-1

我有 2 个简单的表:

  • 雇员
  • 员工报告

员工预计每天提交 1 份报告。

现在,这里的需求是:一目了然地查看员工提交的所有报告,没有报告的员工只会显示一个空白的报告字段..基本上这意味着所有员工都将被列出,无论他们是否有报告

我的 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 用于按特定顺序列出所有员工,另一个用于查询员工的每个报告。

当然这不是有效的..

我可以轻松地在员工表上对员工报告进行左连接,但是

问题:由于我必须针对特定的报告日期,mYSQL 只输出带有报告的员工.. 未提交的员工未列出。

这是我的基本 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'

我可以在一个查询中执行此操作吗?

4

1 回答 1

2

你的 where 也需要能够检查空值,所以让它

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
于 2013-01-07T13:12:48.573 回答