Sql Запрос Сумма времени - PullRequest
       2

Sql Запрос Сумма времени

0 голосов
/ 28 сентября 2018

У меня есть две таблицы, рабочие и график.Рабочие каждый день регистрируют время начала и окончания работы.В столбце total_time указано количество часов, отработанных на каждый день.

CREATE TABLE workers (
    id,
    full_name,
    ....

)

CREATE TABLE schedule (
    id,
    worker_id,
    date,
    start_time,
    end_time,
    total_time

)

Что мне нужно, я не знаю, возможно ли это, выберите записи из таблицы расписания и присоединитесь к рабочей таблице, чтобы получитьих имена для диапазона дат.Обычно это период в две недели, и они возвращают имя работника с количеством часов, отработанных на запрошенные даты, примерно так:

  1. Джон Доу |2018-09-03, 2018-09-15 |80 часов
  2. Рабочий 2 |2018-09-03, 2018-09-15 |75 часов
  3. Рабочий 3 |2018-09-03, 2018-09-15 |83,35 часа

Спасибо !!

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018
select w.full_name, '2018-09-28', '2018-10-05'
       sum(total_time)
from workers w
join schedule s on s.worker_id = w.id
where start_time >= '2018-09-28' and start_time < '2018-10-05'
group by w.full_name
0 голосов
/ 28 сентября 2018

Использование объединения и агрегирования

 select workers.id, full_name,DATEDIFF(second, min(start_time), max(end_time)) / 3600.0
    from workers inner join shcedule
    on workers.id=shcedule.worker_id
    group by workers.id,full_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...