Если вы хотите, чтобы строка с наименьшим количеством часов (= 37 в вашем примере):
SELECT
e.e_id,
e.firstname,
e.lastname,
w.hours
FROM
eomployee e
JOIN works_on w ON e.e_id = w.employee_e_id
ORDER BY w.hours
LIMIT 1
Если вы хотите получить строку для совокупного рабочего времени (в вашем примере «10100» работает 37+ 40 = 77 часов):
SELECT
e_Id, firstname, lastname, hours
FROM (
SELECT
e.e_id,
e.firstname,
e.lastname,
w.hours,
SUM(hours) OVER (PARTITION BY e_id) as cum
FROM
eomployee e
JOIN works_on w ON e.e_id = w.employee_e_id
) s
ORDER BY cum
LIMIT 1
демо: db <> скрипка