Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
swordfish
Зарегистрирован: 07.05.2002 Сообщения: 100 Откуда: Наб. Челны
|
Добавлено: Чт Ноя 14 2002 15:51 Заголовок сообщения: Запрос MySQL. Как построить дерево. |
|
|
Можно ли построить просто дерево на MySQL.
Допустим есть таблица: id | parent_id ---------------- 1 | 0 2 | 1 3 | 1 4 | 3 5 | 3 6 | 4 7 | 2 Result: 1-2-7 | 3-4-6 5 |
|
Вернуться к началу |
|
|
lenok Гость
|
Добавлено: Чт Ноя 21 2002 17:43 Заголовок сообщения: Re: Запрос MySQL. Как построить дерево. |
|
|
Пишите хранимую процедуру и вызывайте ее. SQL 7 и выше поддерживает рекурсивный вызов. |
|
Вернуться к началу |
|
|
swordfish
Зарегистрирован: 07.05.2002 Сообщения: 100 Откуда: Наб. Челны
|
Добавлено: Пт Ноя 22 2002 08:37 Заголовок сообщения: Re: Запрос MySQL. Как построить дерево. |
|
|
Я не про MS SQL, а про бесплатную БД MySQL, хотя не исключено, что там тоже есть рекурсия. Но я надеялся, на простое решение, типа как в Оракл, один запрос - и в дамки, но как и предполагалось не видать мне счастья. |
|
Вернуться к началу |
|
|
lenok Гость
|
Добавлено: Пт Ноя 22 2002 11:43 Заголовок сообщения: Re: Запрос MySQL. Как построить дерево. |
|
|
Если глубина вложенности фиксированная используйте подзапросы. |
|
Вернуться к началу |
|
|
swordfish
Зарегистрирован: 07.05.2002 Сообщения: 100 Откуда: Наб. Челны
|
Добавлено: Пт Ноя 22 2002 15:04 Заголовок сообщения: Re: Запрос MySQL. Как построить дерево. |
|
|
Лена, ты серьезно? Неужели вообще вопрос бы встал, если бы дело касалось фиксированного уровня вложенности. Хотя приятно встретить девушку, которая не только хныкать умеет, но и давать советы, пусть и несколько "неожиданные". Извини, это я на себя злюсь, что время идет, а ничего путного в голову не лезет (хотя еще времени не было подумать, надеялся, что тут кто-нибудь сделает мою работенку). Ты тут не причем, тебе все равно большое спасибо. |
|
Вернуться к началу |
|
|
lenok Гость
|
Добавлено: Пн Ноя 25 2002 13:42 Заголовок сообщения: Re: Запрос MySQL. Как построить дерево. |
|
|
Спасибо за комплимент. Тогда по делу. Ничто Вам не мешает написать функцию которая будет возвращать очередной уровень вложенности и сваливать все это в локальную таблицу ( а на чем все это ваяется? даже не очень умный Access это позволяет.), имеется ввиду пользовательская функция, которая за один проход строит один уровень в качестве параметра передаете родителя. Структуру локальной таблицы Вы можете изменять по мере нарастания уровня вложенности. Дело в том что у меня написаны оба варианта и серверный и с построением локальной таблицы правда на MS SQL 7.0 |
|
Вернуться к началу |
|
|
|