|
|
|
| Есть такая структура разделов. Каждый раздел имеет идентефикатор, назовём его owner, который хранит id раздела к оторому он относится. У корневых он равен нулю.
Раздел1
Раздел1.1
Раздел1.1.1
Раздел1.1.2
Раздел1.1.n
Раздел1.2
Раздел1.n
Раздел2
Раздел2.1
Раздел2.1
Вопрос в следующем: имя на руках id вложенного раздела, скажем 'Раздел1.1.2' и соответственно его "родителя", можно ли одним запрососм получить цепочку id'шек до корня? | |
|
|
|
|
|
|
|
для: Zilog
(20.02.2009 в 01:40)
| | В данной организации вряд ли получится одним запросом.
Для этого можно преобразовать ваше дерево в вид вложенных множеств (по сути добавив в базу два новых поля).
http://phoinix.ucoz.ru/publ/1-1-0-1/
В данном случае значительно упрощаются и ускоряются выборки, но усложняются вставки и изменение структуры(вставка, удаление, перенос веток, разделов и т.д.).
Т.е. если построение дерева происходит в разы чаще чем его преобразование, то данный вариант имхо оптимален. | |
|
|
|
|
|
|
|
для: Axxil
(20.02.2009 в 09:30)
| | Спасибо, я нашёл выход через окно :) Задача стояла собрать значения вложенных полей, что я сделал для каждого раздела на этапе строительства, и сейчас получаю данные в готовом виде - надобность бегать циклами отпала. | |
|
|
|
|
|
|
|
для: Zilog
(20.02.2009 в 01:40)
| | Рекурсия | |
|
|
|