קוד:
SELECT
`persons`.`jobSize` ,
`persons`.`fname_he` AS `fname` ,
`persons`.`lname_he` AS `lname` ,
`persons`.`id` , `persons`.`disNum` ,
`persons`.`isWorker` ,
`persons`.`isDis` ,
`persons`.`isGuide` ,
MONTH( `work_hours`.`purposeTime` ) AS `month` ,
YEAR( `work_hours`.`purposeTime` ) AS `year` ,
CASE `work_hours`.`statusId`
WHEN 22
THEN SEC_TO_TIME( SUM( TIME_TO_SEC( SUBTIME( `work_hours`.`endHour` , `work_hours`.`startHour` ) ) ) ) ELSE 0
END AS `vic` ,
CASE `work_hours`.`statusId`
WHEN 20
THEN SEC_TO_TIME( SUM( TIME_TO_SEC( SUBTIME( `work_hours`.`endHour` , `work_hours`.`startHour` ) ) ) ) ELSE 0
END AS `seek` ,
CASE WHEN `work_hours`.`statusId` <> 22 AND `work_hours`.`statusId` <> 20
THEN SEC_TO_TIME( SUM( TIME_TO_SEC( SUBTIME( `work_hours`.`endHour` , `work_hours`.`startHour` ) ) ) ) ELSE 0
END AS `hours`
FROM `work_hours` , `persons`
WHERE `work_hours`.`personId` = `persons`.`id`
AND `work_hours`.`job` = TRUE
GROUP BY `persons`.`fname_he` , `persons`.`lname_he`, YEAR(`work_hours`.`purposeTime`), MONTH(`work_hours`.`purposeTime`)
ORDER BY `work_hours`.`purposeTime`