WoLFiks
Не курю...
Выборка одного уровня дерева
В таблице хранится древовидная структура.
id->parent_id.
Ну и поле name хранит название.
Необходимо выбрать один уровень поддерева для указанного родителя (в данном случае родитель = 5), но хочется еще и "Имя" родителя при этом знать.
Намудрил так -
SELECT `t1`.`name` AS `p_name` , `t2` . *
FROM `table` AS `t1`
LEFT JOIN `table` AS `t2` ON `t2`.`parent_id` = `t1`.`id`
WHERE `t1`.`parent_id` =5
- т.е. выбирает один уровень для заданного "родителя" )
запрос устраивает по выводимому результату, но как-то мне не очень нравится.
Есть варианты получить ЭТОТ же результат, но другим запросом?
-~{}~ 13.11.08 20:38:
Опс..
Немного не то. Данный запрос выбирает всех потомков 2го уровня относительно известного parent_id, так вот в выборке хочется видеть еще и соответствующие имена 1го уровня вложенности для каждой полученной строки выборки!...
Вот теперь вроде правильно описал суть )
В таблице хранится древовидная структура.
id->parent_id.
Ну и поле name хранит название.
Необходимо выбрать один уровень поддерева для указанного родителя (в данном случае родитель = 5), но хочется еще и "Имя" родителя при этом знать.
Намудрил так -
SELECT `t1`.`name` AS `p_name` , `t2` . *
FROM `table` AS `t1`
LEFT JOIN `table` AS `t2` ON `t2`.`parent_id` = `t1`.`id`
WHERE `t1`.`parent_id` =5
- т.е. выбирает один уровень для заданного "родителя" )
запрос устраивает по выводимому результату, но как-то мне не очень нравится.
Есть варианты получить ЭТОТ же результат, но другим запросом?
-~{}~ 13.11.08 20:38:
Опс..
Немного не то. Данный запрос выбирает всех потомков 2го уровня относительно известного parent_id, так вот в выборке хочется видеть еще и соответствующие имена 1го уровня вложенности для каждой полученной строки выборки!...
Вот теперь вроде правильно описал суть )