Как я могу получить братьев, родителей и детей из таблицы SQL - PullRequest
0 голосов
/ 12 июня 2018

У меня есть таблица sqlite, подобная этой

a) таблица узлов

+------------------+------------------+
|         id       |       name       |     
|-------------------------------------+
|7c7d1ea6-8a9b-4abe| paradise island  |            
+------------------+------------------+
|7c2fdb84-6d12-4cdb| banana tree      |                                            
+------------------+------------------+
|44c034c5-cad0-4f69| yellow banana    |               
+------------------+------------------+

b) таблица ребер

+----+--------------------+--------------------+
| id |       org_id       |       parent       |     
|----------------------------------------------+
|  1 | 7c7d1ea6-8a9b-4abe |       null         |              
+------------------+---------------------------+
|  2 | 7c2fdb84-6d12-4cdb | 7c7d1ea6-8a9b-4abe |                                                
+------------------+---------------------------+
|  3 | 44c034c5-cad0-4f69 | 7c2fdb84-6d12-4cdb |               
+------------------+---------------------------+

с заданным именем (уникальным, основанным нана имя) Мне нужен запрос, чтобы выбрать его братьев (тот же parent_id), его прямого родителя (ей) и его прямого потомка (ей).

@ jerrad предоставил решение здесь , нотогда он не извлекает братьев, родителей и детей одновременно.это возможно?

Я видел несколько примеров по рекурсивным CTE, но я не знаю, как это сделать.Я использую sequelize ORM и базу данных sqlite.

С другой стороны, глядя на @ решение Джеррада , я могу поместить результаты в один массив, имея в виду, что он должен быть отсортированв порядке названия плюс поддержка нумерации страниц.

Буду признателен всем, кто может мне помочь с этим.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...