0
我有一个表有许多项目的ID,并为每一个项目,我有层次结构如下所示。层次查询 - 甲骨文
我输入我的风险id..How可以得到输入风险ID顶层父。
如果我给25作为输入,我应该得到23 output.how我能做到这一点。
我有一个表有许多项目的ID,并为每一个项目,我有层次结构如下所示。层次查询 - 甲骨文
我输入我的风险id..How可以得到输入风险ID顶层父。
如果我给25作为输入,我应该得到23 output.how我能做到这一点。
从所需行开始上升到根:
SELECT RiskID,
FROM PROJECT_RISKS
WHERE CONNECT_BY_ISLEAF = 1
START WITH
RiskID = 25
CONNECT BY
PRIOR Link2 = Link1
AND PRIOR ProjectID = ProjectID;
从根开始并下降到所需的行:
SELECT CONNECT_BY_ROOT(RiskID) AS RiskID
FROM Project_Risks
WHERE RiskID = 25
START WITH
link2 IS NULL
CONNECT BY
PRIOR Link1 = Link2
AND PRIOR ProjectID = ProjectID;
两者都会给出相同的答案。
你能告诉我们你试过了什么吗?另外,作为提示,查找CTE(公用表表达式)。 –
这个herarchy是如何定义的?什么是link1和link2? – miracle173