Spróbuj tego:
SELECT j.id, j.starttime, j.endtime, j.jobname, c.cpuusage
FROM
(
SELECT j.id, j.starttime, j.endtime, j.jobname, MAX(c.usagetime) AS usagetime
FROM jobinfo AS j
LEFT JOIN cpuinfo AS c
ON c.usagetime <= j.starttime
GROUP BY j.id
) AS j
JOIN cpuinfo AS c
ON j.usagetime = c.usagetime
Daje to pożądany wynik. Znajduje najnowszą wartość cpuusage przed rozpoczęciem każdego zadania. Nie obsługuje zmian w procesorze, gdy zadanie jest uruchomione.