2013-09-10 2 views
0

У меня есть таблица - посещаемостьРасчет позднего прибытия/раннего прибытия из In/Out Time

staff_id | in_date | out_date | shift_in | shif_out | in_time | out_time 
    1  2013-09-10 2013-09-10 06-30-00 15-00-00 07-00-00 15-00-00 
    2  2013-09-10 2013-09-11 20-00-00 06-00-00 19-00-00 06-00-00 
    3  2013-09-10 2013-09-11 23-00-00 06-00-00 23-30-00 07-00-00 

мне нужно, чтобы получить результат как

staff_id | late_time | early_time | extra_time 
    1  00-30-00 00-00-00  00-00-00 
    2  00-00-00 01-00-00  00-00-00 
    2  00-30-00 00-00-00  01-00-00 

Могу ли я получить результат от самого MySQL Query или Нужно ли мне использовать PHP для вычисления этого? Как я могу получить этот результат?

+0

Вы, вероятно, нужно в MySQL 'TIMEDIFF' или' DATEDIFF'. В настоящее время я не вижу, как точно получаются ваши столбцы. – Sirko

+0

Проблема - это идентификатор персонала 2 и 3, дата и дата разные. Как это можно вычислить? – Shafeeque

ответ

0

Прежде всего, я бы использовал «DATETIME» в одном столбце вместо столбца DATE и столбца TIME - это упрощает сравнение дат и получение различий.

Тогда используйте "TIMEDIFF()", чтобы сравнить время, чтобы получить разницу.

Если DB-Layout уже установлен, используйте ADDTIME сочетание различных столбцов в один столбец DATETIME, как это:

SELECT TimeDiff(AddTime(in_date,shift_in), AddTime(out_date,in_time)) AS late_time 
Смежные вопросы