我如何从sql表中检索兄弟,父母和孩子

时间:2018-06-12 13:14:33

标签: javascript sqlite graph sequelize.js

我有像这样的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提供了一个解决方案here但是它不会同时检索兄弟,父母和孩子。这有可能吗?

我已经看过一些关于递归CTE的例子,但我不知道如何去做。我正在使用sequelize ORM和sqlite数据库。

另一方面,查看@Jerrad's solution,我可以将结果推送到一个数组中,记住它必须按名称顺序排序,并且需要分页支持。

我会感激任何可以帮助我的人。

由于

0 个答案:

没有答案