Попробуйте это
Для 2 таблиц
Select name, max(current_week) current_week, max(last_week) as last_week
From (
Select name, count(1) as current_week, 0 as last_week from currentWeek group by name
union all
Select name, 0 as current_week, count(1) as last_week from lastWeek group by name
) x
group by name
для 3 таблиц
Select name, max(current_week) current_week, max(last_week) as last_week, max(third_week) as third_week
From (
Select name, count(1) as current_week, 0 as last_week, 0 as thrid_week from currentWeek group by name
union all
Select name, 0 as current_week, count(1) as last_week, 0 as thrid_week from lastWeek group by name
union all
Select name, 0 as current_week, 0 as last_week, count(1) as thrid_week from thirdWeek group by name
) x
group by name