jenia
Новичок
Наиболее оптимальные запросы
Возникла такая проблема:
Есть каталог ресурсов, в mysql для него две таблицы. В одной таблице дерево (NESTED SETS), во второй данные. Нужно вытянуть такие данные:
1. Родительскую ветвь указанного раздела;
2. Подразделы данного раздела с количеством сайтов в каждом;
3. Данные, которые соответствуют данному разделу в таблице с данными.
В скрипт передаются: right, left, id
Делаю так:
SELECT * FROM catalog WHERE `sec_id` = $id;
- этим запросом вытягиваю данные, которые соответствуют данному разделу.
SELECT catalog_razdeli.id, catalog_razdeli.title, catalog_razdeli.left, catalog_razdeli.right, count(catalog.sec_id)
FROM `catalog_razdeli` LEFT JOIN catalog ON catalog_razdeli.id = catalog.sec_id
WHERE `right` > $left AND `left` < $right GROUP BY `left`;
- этим запросом вытягиваю данные, которые нужны для формирования родительской ветки и с помощью которых формирую подразделы данного раздела с количеством сайтов в каждом.
В написаном меня смущает то, что данные полученные из второго запроса нужно обрабатывать php, чтобы получить требуемый результат. Можно ли сделать более оптимально?
-~{}~ 08.04.06 23:21:
Не могу сообразить. Мне получается даже двух запросов нехватает. Подскажите пожалуйста хоть что-нибудь.
Возникла такая проблема:
Есть каталог ресурсов, в mysql для него две таблицы. В одной таблице дерево (NESTED SETS), во второй данные. Нужно вытянуть такие данные:
1. Родительскую ветвь указанного раздела;
2. Подразделы данного раздела с количеством сайтов в каждом;
3. Данные, которые соответствуют данному разделу в таблице с данными.
В скрипт передаются: right, left, id
Делаю так:
SELECT * FROM catalog WHERE `sec_id` = $id;
- этим запросом вытягиваю данные, которые соответствуют данному разделу.
SELECT catalog_razdeli.id, catalog_razdeli.title, catalog_razdeli.left, catalog_razdeli.right, count(catalog.sec_id)
FROM `catalog_razdeli` LEFT JOIN catalog ON catalog_razdeli.id = catalog.sec_id
WHERE `right` > $left AND `left` < $right GROUP BY `left`;
- этим запросом вытягиваю данные, которые нужны для формирования родительской ветки и с помощью которых формирую подразделы данного раздела с количеством сайтов в каждом.
В написаном меня смущает то, что данные полученные из второго запроса нужно обрабатывать php, чтобы получить требуемый результат. Можно ли сделать более оптимально?
-~{}~ 08.04.06 23:21:
Не могу сообразить. Мне получается даже двух запросов нехватает. Подскажите пожалуйста хоть что-нибудь.