|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.03.2012, 21:07 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
Рекурсивный запрос
Есть таблица такой структуры:
Код:
Известен id (ветки, корня, листочка - не важно) и по нему надо извлечь всю ветку, например по id = 3 надо получить: Код:
Как это сделать с помощью одного sql запроса? Нужно использовать какие-то рекурсивные запросы? Или подзапросы? Или что-то ещё? Запрос должен выполняться в mysql. Больше спасибо за помощь. Последний раз редактировалось Никки; 13.03.2012 в 21:14. |
13.03.2012, 21:48 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Копать в сторону рекурсивніх хранимых процедур и ссылочка http://www.sql.ru/forum/actualthread...id=6&tid=27688
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
14.03.2012, 08:12 | #3 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
В общем в mysql с этим какая то проблема. И у меня только 2 выхода:
1) делать всё с помощью языка программирования, посылая несколько запросов - долгое время извлечения дерева 2) добавить 2 поля в таблицу и по ним выбирать дерево, тогда извлечение будет быстрым, а вот чтобы вставить ветку нужно будет все индексы у следующих записей передвинуть. т.е. тут вставка будет долгой... И вот кажется придумался самый оптимальный вариант: 3) добавить в каждую поле three_id и извлекать всё дерево по нему! ) Последний раз редактировалось Stilet; 14.03.2012 в 22:48. |
14.03.2012, 08:44 | #4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
14.03.2012, 20:15 | #5 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
не знаю... я в общем уже сделал несколько запросов и переборку в коде. Всего раза в 2-3 дольше получается... но всё равно быстро.
Если будут большие нагрузки потом переделаю. |
23.03.2012, 03:10 | #6 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Аватар
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
23.03.2012, 15:21 | #7 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
23.03.2012, 15:35 | #8 |
Новичок
Джуниор
Регистрация: 22.03.2012
Сообщений: 1
|
допоможіть життю людини !!!
Це – рак легенів, злоякісна пухлина, – повідомив власкор ЗІКу.
Андрієві лише 23 роки. Він – життєрадісний і доброзичливий, завжди готовий прийти на допомогу. Кілька місяців юнака лікували від плевриту, провели дві операції. Однак днями медики встановили страшний діагноз, який згодом підтвердили у столичній лабораторії – аденокарцинома правої легені. Юнак потребує дуже дорогого лікування (у тому числі й за кордоном), а таких коштів у сім’ї Андрія немає. Тому родина просить усіх, кому не байдужа доля молодої людини, допомогти. Ось єдині реквізити для перерахунку коштів(lдопоможіть чим можете):webmoney WMID: 200235489688 R270406892617 Z431134896206 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рекурсивный поиск | zumm | Общие вопросы Delphi | 7 | 01.11.2010 22:47 |
C# - Рекурсивный метод | Ronnie | Помощь студентам | 2 | 10.06.2010 08:30 |
рекурсивный алгоритм. | Nelson1992 | Помощь студентам | 9 | 21.03.2010 12:09 |
Рекурсивный алгоритм | SVM | Общие вопросы C/C++ | 7 | 13.11.2009 09:24 |
Рекурсивный SQL запрос | ADSoft | SQL, базы данных | 5 | 02.06.2008 16:55 |