SELECT company.name, MAX(poll.created_at) as last
FROM poll
INNER JOIN team ON poll.team_id = team.id
RIGHT OUTER JOIN company ON team.company_id = company.id
GROUP BY company.name
order by last DESC
Спасибо, это работает! А как быть с тем, если для company нет poll? Хотелось бы чтобы в этом случает в poll.created_at было null, а по вашему решению просто не возвращается данная company