Выборка из трех таблиц + count, nested sets

regi

Новичок
Выборка из трех таблиц + count, nested sets

Есть три таблицы:
cat(cid, cleft, cright, clevel)
cat_info(cid, ctitle, ..еще поля..)
articles(cid, aid, atitle, ..еще поля..)

cat и cat_info основные таблицы - в cat хранится дерево по алгоритму nested sets. В cat_info хранится остальная информация по разделу, типа названия и т.п.
В articles хранятся статьи :), которые привязаны к категориям по cid естественно.

Необходимо вывести подразделы выбранного раздела и для каждого указать кол-во детей(не полное, а clevel+1) и кол-во статей(тоже только для данного подраздела). Что-то такое:
Основные статьи(Категорий: 3, Статей:2)
Еще статьи(Категорий: 12, Статей:21) и т.п.

Посчитать кол-во статей для подразделов данного раздела я могу таким запросом:
PHP:
 SELECT cid, COUNT(aid) FROM cat LEFT JOIN articles USING(cid) WHERE cat.cleft>=$my_cleft AND cat.cright<=$my_cright AND cat.clevel=$my_clevel GROUP BY cid;
Выбрать все подразделы данного раздела так:
PHP:
 SELECT cat.cid, cat_info.* FROM cat LEFT JOIN cat_info USING(cid) WHERE cat.cleft>=$my_cleft AND cat.cright<=$my_cright AND cat.clevel=$my_clevel;
Подсчитать число детей для каждого подраздела (делаю это в цикле при получении данных из результата второго приведенного запроса):
PHP:
 SELECT cid FROM cat WHERE cleft>$row['cleft'] AND cright<$row['cright'];
Возможно ли выбрать подразделы и посчитать количество детей одним запросом, (а не в цикле, как это делаю сейчас я) А так же второй вопрос(и главный) - как объеденить первый и второй запросы, которые я написал здесь?

-~{}~ 31.03.06 00:07:

Щас нашел в мануале пример, странно что раньше не замечал :)
Выборку из трех таблиц, но без подсчета детей подразделов, сделал так:
PHP:
mysql> SELECT cat.cid, count(articles.aid), cat_info.ctitle FROM cat LEFT JOIN articles USING(cid) LEFT JOIN cat_info US
ING(cid) WHERE cat.cleft>=$my_cleft AND cat.cright<=$my_cright AND cat.clevel=$my_clevel GROUP BY cid;
Таким запросом можно пользоваться? :) И остается открытым вопрос по поводу подсчета детей для каждого из подразделов.
 
Сверху