SQL / SqlAlchemy:查询依赖树中的所有对象

时间:2018-06-28 11:05:30

标签: python sql postgresql sqlalchemy

我有一个表,该表具有对象之间自相关的自相关,不对称的多对多关系。我使用这种关系在对象之间创建了可靠的树。

具有一组对象ID,我想获取依赖树中某处的所有对象。

这是一个示例对象表:

+----+------+
| ID | Name |
+----+------+
|  1 |    A |
|  2 |    B |
|  3 |    C |
|  4 |    D |
|  5 |    E |
+----+------+

关系表:

+------------+-----------+
| Dependancy | Dependant |
+------------+-----------+
|          2 |         1 |
|          3 |         2 |
|          4 |         1 |
+------------+-----------+

显示A (ID: 1)取决于B(2)D(4),而B(2)取决于C(3)

现在,我想构造一个单个SQL查询,该查询将给定{1}作为具有单个ID的集合,将返回A的依赖树中的四个对象:ABDC。 另外,也可以使用一个查询来获取所有所需的对象ID,而使用另一个查询来获取其实际数据。

无论依赖项/层次结构树中的级别数如何,这都应该有效。

我将对Postgresql 10数据库的SQLAlchemy示例或纯SQL感到满意(稍后将了解如何使用SQLAlchemy进行实现)。

谢谢!

0 个答案:

没有答案