我不确定这是否可以在MSSQL中完成。我有一个Timesheets表,我希望用户能够放入日期范围并查看该范围的所有时间表。需要注意的是,我也希望他们查看“缺失”时间表。推断缺少的表条目
用户每周进入时间表程序并创建一个时间表。当他们完成了几个小时后,他们提交时间表,然后他们的直线经理将批准时间表(这是相关的,与我一起)。
我遇到的问题是,如果他们从未为给定的一周创建时间表。我似乎无法让它出来。我有下面的查询,它会告诉我,如果用户没有为给定的范围创建一个Timesheet,但是如果有的话,在给定的范围内有3周,并且在那些星期中有1个Timesheet,它不会报告有2个“缺少”时间表的事实。
SELECT U1.Name, T.EndDate,
CASE T.Submitted
WHEN 1 THEN 'Yes'
ELSE 'No'
END AS Submitted,
CASE T.Approved
WHEN 1 THEN 'Yes'
ELSE 'No'
END AS Approved
FROM Users U1
LEFT OUTER JOIN Timesheets T ON U1.idUser = T.id_User AND (T.EndDate <= '2014-10-24' AND T.EndDate >= '2014-10-03')
WHERE U1.Active = 1
ORDER BY U1.Name
从技术上讲,这两个日期将是参数,我只是将它们内联在一起,使事情变得更容易一些。是否有可能做我想做的事情?
完美!感谢您的链接,这就是我需要的。 – Trent 2014-10-30 00:42:16