我有一个管理员工时间表的应用程序。
我的表看起来像:
TIMESHEET
TIMESHEET_ID
EMPLOYEE_ID
etc
TIMESHEET_DAY:
TIMESHEETDAY_ID
TIMESHEET_ID
DATE_WORKED
HOURS_WORKED
每个时间表涵盖 14 天的时间段,因此每个 TIMESHEET 记录有 14 条 TIMESHEET_DAY 记录。如果有人去度假,如果在这 14 天期间没有工作时间,他们就不需要输入时间表。
现在,我需要确定员工在前 6 个月内是否有 7 天的空档。这意味着我必须查找 7 个连续的 TIMESHEET_DAY 记录,时间为 0 小时,或者 7 天的时间段(没有提交的记录和提交的工作时间为 0 小时的记录的组合)。在这种情况下,我需要知道最后一个 TIMESHEET_DAY 记录的 DATE_WORKED 和小时。
该应用程序是 asp.net,因此我可以检索所有 TIMESHEET_DAY 记录并遍历它们,但我认为必须有一种更有效的方法来使用 SQL 执行此操作。