Pettttttro: или раз на то пошло дайте мне таблицы, я не могу что то в слепую написать, что за table_one table_two если они зависимые то каким макаром, я уже устал ваши ребусы решать
select company_id, count(*) as count from table1 where table1.company_id in(SELECT id FROM table2 WHERE id IN(1,2,3,4,5,6,7,8,9,10)) group by company_id вы немного можете мозг включить?
Pettttttro: объясню, запрос написал на коленке не тестил, объясню что вам нужно добиться
У вас есть таблица вы получаете count(*) и company.id далее просто нужно сгруппировать по company.id вы получите массив array(1 => 12, 2 => 45, 9=>5) в чем проблема?
SELECT count(*) as count, id FROM table_one
WHERE table_one.id IN (SELECT id FROM table_two WHERE campaign_id IN(implode(",", $company_array))) GROUP BY table_one.id