りんご
2021/09/17 (金) 07:28:32
c564b@0e907
ちょっと、複雑なので、フレックスと残業3は抜きに、方向性を考えてみました。
(1レコード目)休日1開始8:00、休日1終了10:00、休日2開始10:30、休日2終了12:00、
… | 休日1開始 | 休日1終了 | 休日2開始 | 休日2終了 | 残業1開始 | 残業1終了 | 残業2開始 | 残業2終了 |
---|---|---|---|---|---|---|---|---|
… | 8:00 | 10:00 | 10:30 | 12:00 | 7:00 | 7:30 | 13:00 | 14:00 |
Is Not Null | Is Not Null | Is Not Null | Is Not Null |
↪︎休日1と残業1を仮テーブルに追加クエリその1(休日2と残業2は追加先を指定しない)を作る。
↪︎休日2と残業2を仮テーブルに追加クエリその2(休日1と残業1は追加先を指定しない)を作る。
(2レコード目)休日1開始19:00、休日1終了20:00
… | 休日1開始 | 休日1終了 | 休日2開始 | 休日2終了 | 残業1開始 | 残業1終了 | 残業2開始 | 残業2終了 |
---|---|---|---|---|---|---|---|---|
… | 19:00 | 20:00 | 18:30 | 21:30 | ||||
Is Not Null | Is Not Null | Is Null | Is Null |
↪休日1と残業1と残業2を仮テーブルに追加クエリその3を作る。
平日の場合:開始時間8:20(固定)、終了時間17:20(固定)、時間休開始14:00、時間休終了15:00
… | 開始時間 | 終了時間 | 時間休開始 | 時間休終了 | 残業1開始 | 残業1終了 | 残業2開始 | 残業2終了 | 休日1開始 | 休日1終了 |
---|---|---|---|---|---|---|---|---|---|---|
… | 8:20 | 17:20 | 14:00 | 15:00 | 7:20 | 8:20 | 17:20 | 18:20 | ||
Is Null | Is Null |
↪開始、終了、時間休、残業を仮テーブルに追加クエリその4を作る。
… | 仮テーブル | |||||||
---|---|---|---|---|---|---|---|---|
… | 勤務開始 | 勤務終了 | 残業1開始 | 残業1終了 | 残業2開始 | 残業2終了 | 時間休開始 | 時間休終了 |
… | 8:00 | 10:00 | 7:00 | 7:30 | ||||
… | 10:30 | 12:00 | 13:00 | 14:00 | ||||
… | 19:00 | 20:00 | 18:30 | 21:30 | ||||
… | 8:20 | 17:20 | 7:20 | 8:20 | 17:20 | 18:20 | 14:00 | 15:00 |
… | 選択クエリ | |||||||
---|---|---|---|---|---|---|---|---|
… | 勤務開始 | 勤務終了 | 残業1開始 | 残業1終了 | 残業2開始 | 残業2終了 | 時間休開始 | 時間休終了 |
… | 8:00 | 10:00 | 7:00 | 7:30 | ||||
… | 10:30 | 12:00 | 13:00 | 14:00 | ||||
… | 19:00 | 20:00 | 18:30 | 21:30 | ||||
… | 8:20 | 17:20 | 7:20 | 8:20 | 17:20 | 18:20 | 14:00 | 15:00 |
↪︎残業1を新テーブルに追加クエリその5(残業1がIs Not Null)を作る。
↪︎残業2を新テーブルに追加クエリその6(残業2がIs Not Null)を作る。
↪︎残業1開始と勤務開始を新テーブルの勤務開始と勤務終了に追加クエリその7を作る。
(残業1開始がIs Not Null、残業1終了がIs Null)
↪︎勤務終了と残業2終了を新テーブルの勤務開始と勤務終了に追加クエリその8を作る。
(残業2開始がIs Null、残業2終了がIs Not Null)
↪︎勤務開始、勤務終了、時間休開始、時間休終了を新テーブルの勤務開始、勤務終了、中抜け開始、中抜け終了に追加クエリその9を作る。
… | 新テーブル | |||
---|---|---|---|---|
… | 勤務開始 | 勤務終了 | 中抜け開始 | 中抜け終了 |
… | 7:00 | 7:30 | ||
… | 7:20 | 8:20 | ||
… | 13:00 | 14:00 | ||
… | 17:20 | 18:20 | ||
… | 18:30 | 19:00 | ||
… | 20:00 | 21:30 | ||
… | 8:00 | 10:00 | ||
… | 10:30 | 12:00 | ||
… | 19:00 | 20:00 | ||
… | 8:20 | 17:20 | 14:00 | 15:00 |
最後は、クエリで見やすい順番に。
通報 ...
追加クエリという手がありましたね。うっかりしていました。
選択クエリとテーブル作成クエリで作ることばかりを考えていました
中身の見直しと追加クエリで再挑戦してみます