我有 2 张桌子。第一个包含对第二个表的引用,而第二个表是自引用的。
以下是示例表
Table_P
-----------------------------
P_ID P_TOKEN FID
-----------------------------
1 P1 F1
2 P2 F2
3 P3 F3
4 P4 F4
-----------------------------
和
Table_F
----------------------------------
F_ID F_TOKEN PARENT_TOKEN
----------------------------------
1 F1 F2
2 F2 F3
3 F3 null
4 F4 null
----------------------------------
预期结果
---------------------
P_TOKEN F_TOKEN
---------------------
F1 F3
F2 F3
F3 F3
F4 F4
---------------------
选择查询
SELECT p.P_TOKEN,
(select F_TOKEN from
(select tF.F_TOKEN, tF.PARENT_F from TABLE_F tF
connect by tF.F_TOKEN = prior tF.PARENT_TOKEN start with tP.FID = tF.F_ID)
where PARENT_F is null
) as "F Value" FROM TABLE_P tF
但是这样做会引发异常
ORA-00904: "tP"."FID": invalid identifier
请建议解决方法。非常感谢。