我有一个表(dim_factory_relation),它以下面的格式存储子工厂ID和每个子工厂的父工厂ID。
FK_CHILD_FACTORY_ID FK_PARENT_FACTORY_ID
65 5
66 5
5 13
10 13
13 25
13 40
30 40
40 100
71 56
72 56
56 100
现在,如果我通过较低的子工厂,它应该提供父母列表直到最高级别。例如。我作为一家儿童工厂经过了65岁。它必须给我
FK_PARENT_FACTORY_ID
5
13
25
40
100
请使用Oracle SQL帮助您了解如何使用Oracle SQL。谢谢你的帮助。
答案 0 :(得分:3)
select FK_PARENT_FACTORY_ID
from t
start with FK_CHILD_FACTORY_ID = 65
connect by prior FK_PARENT_FACTORY_ID=FK_CHILD_FACTORY_ID
<强>输出强>
FK_PARENT_FACTORY_ID
---------------------------------------
5
13
25
40
100