従業員のタイムシートを管理するアプリケーションがあります。
私のテーブルは次のようになります。
TIMESHEET
TIMESHEET_ID
EMPLOYEE_ID
etc
TIMESHEET_DAY:
TIMESHEETDAY_ID
TIMESHEET_ID
DATE_WORKED
HOURS_WORKED
各タイムシートは 14 日間をカバーするため、TIMESHEET レコードごとに 14 の TIMESHEET_DAY レコードがあります。また、誰かが休暇を取った場合、その 14 日間に勤務時間がなければ、タイムシートを入力する必要はありません。
ここで、従業員に過去 6 か月間で 7 日間の欠勤があるかどうかを判断する必要があります。つまり、0 時間の TIMESHEET_DAY レコードが 7 つ連続しているか、レコードが提出されていないものと 0 時間労働で提出されたレコードの組み合わせがある 7 日間の期間のいずれかを探す必要があります。その場合、最後の TIMESHEET_DAY レコードの DATE_WORKED と時間を知る必要があります。
アプリケーションはasp.netなので、すべてのTIMESHEET_DAYレコードを取得して反復処理できましたが、SQLでこれを行うより効率的な方法が必要だと思います.