【发布时间】:2017-05-25 22:35:23
【问题描述】:
我有一个员工数据库及其出勤率。我必须创建出勤日期范围报告。
考勤数据库表
我正在使用下面的查询
SELECT a.* FROM attendance a WHERE a.user_id=10 AND (a.date BETWEEN '2017-01-06' AND '2017-01-10')
我还想要所有给定日期范围的记录,但数据库中不存在某些日期记录,我希望日期显示空值以对应于该日期,如下图所示。
【问题讨论】:
-
我认为还有其他问题,因为查询没有错,它只是过滤了日期和 user_id,这两种情况都是正确的。您可以尝试删除
a.并进行正常查询吗? (SELECT * FROM 出勤 WHERE user_id=10 AND(date BETWEEN '2017-01-06' AND '2017-01-10') -
通常会处理应用程序代码中的数据显示问题(例如缺少行)
-
@Tosfera 在数据库中,我们没有该日期 (07,08) 的记录,但我希望得到响应,包括我在上图中显示的所提供间隔的缺失日期。
-
@Strawberry 我可以编写应用程序代码来处理这种情况。如果我们得到我们想要的响应而不是编写代码会更好。
-
所以最终,您将其输出到命令行窗口? :-(