В MySQL 8+ вы бы использовали оконные функции
select t.task_id, td.task_detail_id,
count(*) over (partition by t.task_id) as total
from task t inner join
task_detail td
on td.task_id = t.task_id
where td.status = 'ACTIVE' ;
В более ранних версиях рекомендуется использовать подзапрос, но вы можете переместить его в предложение from
:
select t.task_id, td.task_detail_id,
td2.total
from task t inner join
task_detail td
on td.task_id = t.task_id join
(select count(*) as total
from task_detail td2
where td2.status = 'ACTIVE'
group by td2.task_id
) td2
on td2.task_id = td.task_id
where td.status = 'ACTIVE' ;