Есть две таблицы projects и categories. Каждый проект имеет category_id.
Каждая категория имеет parent_id указывающий на саму себя.
Есть необходимость подсчитать количество проектов в каждой категории включая потомков.
В настоящий момент пытаюсь сделать это так, но такой запрос вызывает ошибку unknown column 'c2.id' in 'where clause'
SELECT c2.id, (SELECT COUNT(id) FROM projects WHERE category_id IN ((with recursive cte (id) AS
(select id FROM categories where parent_id IN (c2.id) OR id IN (c2.id) union all select c.id from categories as c inner join cte on c.parent_id = cte.id)
select distinct id from cte))) AS p_count FROM categories AS c2