Неплохо было бы СУБД указать, в принципе относительно универсальным должно быть нечто такое:
select r.name,SUM(r.cnt) from
(
select c.name, count( p.id ) as cnt
from company c left join products p on c.id = p.id_company
where to_days(now()) - to_days(p.data) <= 10
group by c.name
union
select c.name, 0 as cnt
from company c left join products p on c.id = p.id_company
where to_days(now()) - to_days(p.data) > 10
group by c.name
) as r
group by r.name
Т.е. фактически тут выполняется два запроса с противоположными условиями. Если MSSQL — можно было бы сделать CROSS APPLY