Tôi nghĩ rằng đây là một tham gia khá đơn giản, tổng hợp và nhóm bởi:
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
Nếu bạn muốn một work_sum null cho các nhiệm vụ không có thông tin trong phạm vi đó:
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
Nếu bạn muốn 0 work_sum cho các nhiệm vụ không có thông tin trong phạm vi đó:
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