2015-12-19 2 views
-1

Привет, я разработал приложение для посещаемости, было в веб-части iam, которая должна генерировать отчетный месяц. формат отчета выглядит следующим образом:Как рассчитать общее количество рабочих часов, используя два раза из двух таблиц -месяц в год

**Month** **Total Work Hour** 
October    10 
November    12 
December    30 

Поскольку я новичок в SQL, я попытался суммировать общее количество часов работы из таблицы с помощью запроса:

SELECT TIME_FORMAT(SUM(
TIMEDIFF (b.`checkOut_Api_DateTime`, a.`check_In_ApiDateTime`)),'%H:%i:00') AS MONTH 
FROM `checkinlogtable` a,`checkoutlogtable` b WHERE a.`logId`=b.`checkIn_log_id` AND YEAR(a.`check_In_ApiDateTime`)=2015 

My Check In Table

My CheckOut Table

+1

В чем проблема? –

ответ

0

Прежде чем найти сумму разниц во времени для каждого сотрудника, вам необходимо изменить разницу во времени в часы и затем вычислить общее количество часов (вам не хватает этой части в вышеуказанном запросе). Mysql предоставляет функцию TIME_TO_SEC() для преобразования предоставленного аргумента в секунды. Посмотрите на функции mysql datetime для получения дополнительной информации.

Ниже приведен запрос.

SELECT TIME_FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(b.`checkOut_Api_DateTime`, a.`check_In_ApiDateTime`))/3600),'%H:%i:00') AS MONTH 
FROM `checkinlogtable` a,`checkoutlogtable` b 
WHERE a.`logId`=b.`checkIn_log_id` AND YEAR(a.`check_In_ApiDateTime`)=2015 and a.employeeId='R374' 
+0

Огромное вам спасибо, это помогло –

Смежные вопросы