powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Преобразование данных в дерево?
9 сообщений из 9, страница 1 из 1
Преобразование данных в дерево?
    #35310355
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я заранее извеняюсь если ошибся форумом. Мой вопрос больше по алгоритмам sql. У меня есть таблица, в ней данные хроняться в виде дерева. То есть, есть id, name, parent_id. И связь сама на себя. Ну в подробности вдаваться не буду, думаю такое вы все видели. Вопрос: Если способпереконвертировати данные в вид "без групировки".
Например:

имеем

Россия
Москва
Питер
США
Вашингтон
Лос-Вегас

надо получить (вид "без групировки")

Россия|Москва
Россия|Питер
США |Вашингтон
США |Лос-Вегас

И если мы имеем вид "без групировки" какой должен быть алгоритм перевода в древовидный?


ЗАРАНЕЕ ВСЕМ СПАСИБО!!!!!
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35310589
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_Denимеем

Код: plaintext
1.
2.
3.
4.
5.
Россия
    Москва
    Питер
США
    Вашингтон
    Лос-Вегас
надо получить (вид "без групировки")

Код: plaintext
1.
2.
3.
Россия|Москва
Россия|Питер
США   |Вашингтон
США   |Лос-Вегас


Например так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select
   (
      select
         B.name 
      from
         table as B
      where
         B.id=A.parent_id
   ),
   A.name
from
   table as A
where
   A.parent_id is NUL
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35311991
Скорее, так
Код: plaintext
select A.name,B.name from test.regions as A,test.regions as B where A.id=B.parent_id
Но это работает только для двух уровней иерархии. Если их больше, надо рекурсивную процедуру писать.
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35312027
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_DenВысота иерархии ограничена? Какая СУБД?
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35312583
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сегодня высота 3, но может и больше. СУБД ASE 12.5, но может и MS SQL! Но скорее ASE!
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35312597
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cherrex_DenСегодня высота 3, но может и больше.Для ограниченной и заранее известной высоты иерархии можно сделать через join-ы, Золотая рыбка пример показал. cherrex_Den СУБД ASE 12.5, но может и MS SQL! Но скорее ASE!По этим СУБД не скажу, проверьте в документации, нет ли у них иерехических запросов. Если есть, то можно построить запрос, независимый от высоты.
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35314492
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft cherrex_DenСегодня высота 3, но может и больше.Для ограниченной и заранее известной высоты иерархии можно сделать через join-ы, Золотая рыбка пример показал. cherrex_Den СУБД ASE 12.5, но может и MS SQL! Но скорее ASE!По этим СУБД не скажу, проверьте в документации, нет ли у них иерехических запросов. Если есть, то можно построить запрос, независимый от высоты.MS SQL 2005 - есть, Common Table Expressions.
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35315626
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, для MS SQL решение есть. А с ASE прейдется вручную делать! Вот только как не соображу! Помогите с запросом, чтоб он работал не зависимо от уровня вложенности!
...
Рейтинг: 0 / 0
Преобразование данных в дерево?
    #35316613
Вот здесь есть образец чего-то подобного для PostgreSQL, может, удастся как-то адаптировать....
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Преобразование данных в дерево?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]