Общие > Базы данных
Обсуждение статьи ДЕРЕВО КАТАЛОГОВ NESTED SETS (ВЛОЖЕННЫЕ МНОЖЕСТВА) И УПРАВЛЕНИЕ ИМ
webxtor:
У меня такая проблема.. Нужно одним запросом взять все категории первого уровня и максимум 3 второго, при учете, что я не знаю сколько всего первого
Phoinix:
webxtor
[off]и фига себе изврат[/off]
А надо ли?
Только 2 запросами...
webxtor:
Надо еще бы!!
webxtor:
А как 2мя?
А еще вот. Нужно посчитать сколько всего компаний в родительских категориях и их детях,при этом выводя только первый уровень.
Придумал вот:
SELECT count( comps.id ) , cats1.name
FROM companies AS comps, categories AS cats, categories
as cats1
where cats.id = comps.category_id
and cats.right_key = cats1.left_key
and cats1.level = 1
GROUP BY cats1.name
Работает, но думает треть секунды.. может можно как-то обойтись 2мя таблицами?
webxtor:
--- Цитировать ---Phoinix:
ни фига себе изврат
--- Конец цитаты ---
К стати, почему изврат? Я ничего не делаю в своей работы ради исследований или интереса. Во всем, что я делаю, есть практическая необходимость.
Очень часто на сайтах необходимо отобразить все главные категории и несколько дочерних (потом обычно идет троеточие).
Вот я и хочу сделать все как можно меньшим количеством запросов.
Привожу пример:
http://www.alibaba.com/companies/0/company.html
Навигация
Перейти к полной версии