MySQL Запрос с проверкой нескольких условий - PullRequest
0 голосов
/ 04 мая 2020

Продолжение со ссылки вопрос , который я когда-то задавал go.

У меня есть «Новый случай» в этом запросе. У меня есть 3 таблицы здесь HrAttLogs, HrEmployee, HrEmployeeShift

, где таблица HrAttLogs является основной таблицей. Внутри таблицы HrAttLogs есть поле Status, где Status = 0 означает ScanIn, а Status = 1 означает ScanOut

HrAttLogs:

| Id   | MachineIp   | FingerId | Date       | Time     | Status | Verified | DateCreated         |
| ---- | ----------- | -------- | ---------- | -------- | ------ | -------- | ------------------- |
| 2670 | 10.20.20.73 | 61       | 2020-04-07 | 20:52:50 | 0      | 1        | 2020-04-22 14:46:23 |
| 2462 | 10.20.20.73 | 61       | 2020-04-08 | 21:04:49 | 0      | 1        | 2020-04-22 14:46:23 |
| 2594 | 10.20.20.73 | 61       | 2020-04-08 | 07:29:46 | 1      | 1        | 2020-04-22 14:46:23 |
| 2403 | 10.20.20.73 | 61       | 2020-04-09 | 07:21:32 | 1      | 1        | 2020-04-22 14:46:23 |

с запросом, который Я сделал здесь результат:

| FingerId | ShiftId | DateIn     | DateOut    | ScanIn   | ScanOut  | WorkhourIn | WorkhourOut | TIME_IN   | TIME_OUT |
| -------- | ------- | ---------- | ---------- | -------- | -------- | ---------- | ----------- | --------- | -------- |
| 61       | 10      | 2020-04-07 | 2020-04-08 | 20:52:50 | 21:04:49 | 21:00:00   | 07:00:00    | -00:07:10 | 00:04:49 |
| 61       | 10      | 2020-04-08 | 2020-04-08 | 07:29:46 | 21:04:49 | 07:00:00   | 14:00:00    | 00:29:46  | 00:04:49 |
| 61       | 10      | 2020-04-09 | 2020-04-09 | 07:21:32 |          | 07:00:00   | 14:00:00    | 00:21:32  |          |

Проблема в том, когда ScanIn выше 19:00, где ScanIn и ScanOut, DateIn и DateOut разные, Выход, который я ожидаю:

| FingerId | ShiftId | DateIn     | DateOut    | ScanIn   | ScanOut  | WorkhourIn | WorkhourOut | TIME_IN   | TIME_OUT |
| -------- | ------- | ---------- | ---------- | -------- | -------- | ---------- | ----------- | --------- | -------- |
| 61       | 10      | 2020-04-07 | 2020-04-08 | 20:52:50 | 07:29:46 | 21:00:00   | 07:00:00    | -00:07:10 | 00:29:46 |
| 61       | 10      | 2020-04-08 | 2020-04-09 | 21:04:49 | 07:21:32 | 21:00:00   | 07:00:00    | 00:04:49  | 00:21:32 |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...