Je pense qu'il s'agit d'une jointure, d'une somme et d'un regroupement assez simples :
SELECT t.r_id, SUM(t.work) work_sum
FROM tasks t
JOIN info i
ON i.id = t.r_id
AND i.date BETWEEN xxx AND yyy
GROUP BY t.r_id
Si vous voulez un work_sum nul pour les tâches sans informations dans cette plage :
SELECT t.r_id, SUM(t.work) work_sum
FROM tasks t
LEFT JOIN info i
ON i.id = t.r_id
AND i.date BETWEEN xxx AND yyy
GROUP BY t.r_id
Si vous voulez 0 work_sum pour les tâches sans informations dans cette plage :
SELECT t.r_id, COALESCE(SUM(t.work),0) work_sum
FROM tasks t
LEFT JOIN info i
ON i.id = t.r_id
AND i.date BETWEEN xxx AND yyy
GROUP BY t.r_id