user(id,name) - работник.
object(id,user_id) - объект привязан к работнику. у работника может быть несколько объектов.
rabota(id,data,object_id,sum) -работа привязана к объекту. Может быть несколько работ на объекте.
Задача найти лучшего работника месяца.
Получается надо найти все работы на всех объектах работниках.
На выходе должно получится: Петр заработал 30000 руб.
SELECT `u`.`name`, `t`.`sum`
FROM (
SELECT `o`.`user_id` AS `user_id`, SUM(`r`.`sum`) AS `sum`
FROM `rabota` AS `r`
JOIN `object` AS `o` ON `o`.`id` = `r`.`ubject_id`
GROUP BY `o`.`user_id`
ORDER BY `sum` DESC
LIMIT 1
) AS `t`
JOIN `user` AS `u` ON `u`.`id` = `t`.`user_id`