Как правильно построить древовидную структуру?

Как правильно построить древовидную структуру?

Уже не первый раз эта тема, так что простите
Один вопрос и все.

БД:
publisher
id int(11) auto_increment,
category_id int(11)
title varchar(255),
content text

publisher_categories
id int(11) auto_increment,
parent_id int(11),
name varchar(255)


id | category_id | title | content
1 | 3 | Article 1 | Someth
2 | 2 | Article 2 | Someth

id | parent_id | name
1 | 0 | Articles
2 | 1 | My Articles
3 | 2 | Good Articles

Нужно:
Articles -> My Articles -> Good Articles -> Article 1

Здесь все понятно. По id=1 статьи Article 1 выбираем category_id, а потом рекурсивно В НЕСКОЛЬКО запросов выбираем все подкатегории относительно этой статьи. Вопрос в чем: одним запросом выбирать все и обрабатывать в скрипте хорошо, если это один список, т.е. выбрать все и построить дерево. А если это надо только для одной статьи создать путь вложености? Сколько ж это запросов будет каждый раз? Множество. Есть ли возможность построить список категорий в БД? Рекурсия в БД или бред?

-~{}~ 24.11.08 19:19:

Я так подумал, что скорее надо было задать вопрос в ветке по БД. Если что - перенесите.
 

AmdY

Пью пиво
Команда форума
можно, используя left join и другие изващения можно придумать
 

AmdY

Пью пиво
Команда форума
Curly-fingers
зачем точное, нужно избыточное, всё лишнее будет null
 
Сверху