SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.10.2010 00:42:56

savit
Завсегдатай
Зарегистрирован: 10.11.2009
Сообщений: 25

Из Adjacency List сделать Materialized Path

Приветствую. Подскажите пожалуйста, можно ли как-нибудь одним запросом сделать из дерева (Adjacency List) дерево   (Materialized Path) ?

немного поясню: имеется дерево хранящееся в таблице типа

id|name|level|parent_id

хочется добавить некий столбец path (строка) и пронумеровать каждый элемент, чтобы было нечто вроде

1
1.1
1.1.1
1.1.2
....
1.1.n
1.2
1.2.1
...
1.2.n

у меня все это добро формируется на PHP и в цикле пишется в БД ... но хотелось бы обойтись средствами mysql

Неактивен

 

#2 04.10.2010 03:23:30

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Из Adjacency List сделать Materialized Path

Напишите хранимую функцию, которая будет рекурсивно спрашивать до level = 1
родителей и делать concat. То есть одним запросом не будет, но процедуру с
курсором, наверное, тоже можно будет не писать.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson