分层查询以查找根并返回奇异路径

时间:2018-07-02 15:42:45

标签: oracle oracle11g hierarchy hierarchical-data hierarchical

我正在使用未创建的黑匣子数据库,也无法编辑。另外,此选择查询需要在jasper报告中运行,因此我无法编写存储过程。

我有一个库存系统,该系统使用父/子映射表并在每次库存状态发生变化时产生新的密钥。我正在使用2个表,这些是重要字段和简化查询:

allinv,其中包含字段: invmaster invkey

pclink,其中包含字段(与上述allinv的invkey对应): 父母 孩子

以下查询适用于一个库存项目,并按预期显示进度,但需要知道根目录并提供主密钥。

然后我的问题是,如果我需要使用这种结构返回所有库存物品(删除where子句),那么有一种方法可以自动检测根元素并设置为“开始于”或类似地工作因此我可以将其用作分析窗口查询的子查询,以沿途拉取根,叶和状态?

BEGIN;

SELECT * FROM asyncmultiplerecs();
 asyncmultiplerecs 
-------------------
 c1
 c2
(2 rows)

FETCH ALL FROM c1;
 column1 
---------
       1
       2
(2 rows)

FETCH ALL FROM c2;
 column1 
---------
       3
       4
(2 rows)

COMMIT;

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您的问题,但是您当然可以做到:

START WITH stl.parent IS NULL

使用这些行开始分层查询。