我在编写对我的水平而言似乎相当复杂的查询时遇到了麻烦。
问题很简单:它只使用一张桌子 ressources(id_ressource, name, id_manager)
您可能会猜到id_manager
另一个id_ressource
。我想要的是获取特定管理器下所有资源的列表。但是,一个经理可能会由其他经理的经理来依此类推:我想让所有这些资源都归他所有,包括经理本身。
到目前为止,我的查询是最简单的:
SELECT name FROM ressources WHERE id_manager = :MANAGER_VAR;
我知道我可能会使用其中的一些CONNECT BY, PRIOR
,但是我几乎没有使用它的经验,并且很乐意提供帮助。
分层查询(connect by
)如下所示:
select name
from ressources -- check your spelling?
start with id_ressource = :manager_var
connect by id_manager = prior id_ressource
;
这:manager_var
是输入变量(绑定变量,如您尝试的那样)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句