Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Запрос MySQL. Как построить дерево.

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
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
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...