![]() 12 / 12 / 3
Регистрация: 05.02.2010
Сообщений: 46
|
|
Дерево SQL02.04.2010, 10:21. Показов 3181. Ответов 4
Метки нет Все метки)
(
Доброго времени суток.
Есть таблица-дерево (id_parent, id_child), связанная с внешней таблицей сущностей (ее структура не важна). Как найти корень дерева?
0
|
02.04.2010, 10:21 | |
Ответы с готовыми решениями:
4
дерево в sql Построить дерево sql на странице Создать дерево treeview из представления sql |
![]() 12 / 12 / 3
Регистрация: 05.02.2010
Сообщений: 46
|
|
02.04.2010, 10:37 [ТС] | |
Дело в том, что null нигде не будет. Таблица по обоим полям связана с внешней таблицей, а насколько я помню, связь по null не поддерживается. Хотелось бы одним запросом, но это будет сложно... Может, есть способ организовать связь более оптимально? Был бы благодарен за идею
0
|
Почетный модератор
![]() 8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
02.04.2010, 12:03 | |
radist_gla, да в принципе и ваша идея вполне неплоха, ка вариант... одним запросом это сделать нереально, а вот про корень дерева вам все же придется подумать, если null не катит, тогда во внешней таблице должна быть запись, по которой можно понять, что ты уже добрался до конца...
1
|
![]() 12 / 12 / 3
Регистрация: 05.02.2010
Сообщений: 46
|
|
02.04.2010, 13:01 [ТС] | |
Есть решение.
SELECT * FROM "гидрология"."tree" WHERE "гидрология"."tree"."parent" NOT IN(SELECT "child" FROM "гидрология"."tree"). Теперь можно найти всех предков.
0
|
02.04.2010, 13:01 | ||||||
Помогаю со студенческими работами здесь
5
Бинарное дерево: как происходит добавления элемента в дерево с двумя параметрами
Методы индексирования на основе функции расстояния. Универсальное деление гиперплоскостями. Дерево биссектрис и МВ-дерево Как залезть в расчетное дерево (дерево зависимостей формул)? Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
|
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
|
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
|
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
|
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution
В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
|
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
|
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
|
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
|
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
|
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|