Результат, который вы получили, - это именно то, что я ожидал бы от оператора COUNT
.Я думаю, что вы забыли добавить GROUP BY company_two
.
РЕДАКТИРОВАТЬ
Чтобы справиться со случаями компаний, не имеющих какой-либо записи, вы можете сделать:
SELECT s.company_two_id, COUNT(s.id)
FROM supplies_table s
RIGHT OUTER JOIN companies_table c ON s.company_two_id = c.company_id
WHERE company_two_id IN (...)
GROUP BY s.company_two_id;