在我工作的當前項目中,遇到了一個特殊情況。請考慮以下表結構:跨多個表的Oracle分層查詢
AGY_AGENCY (
AGENCY_ID NUMBER(9) not null,
AGENCY_CD VARCHAR2(30) not null,
AGC_LEG_CD VARCHAR2(30) not null,
........................
)
AGY_RELN (
AGY_RELN_ID NUMBER(9) not null,
AGENCY_ID NUMBER(9) not null, -- Refers to AGY_AGENCY.AGENCY_ID
RELATIONSHIP_LINK_TYPE VARCHAR2(30) not null,
............................
)
AGY_REL_AGENCY (
REL_AGY_ID NUMBER(9) not null,
AGY_RELN_ID NUMBER(9) not null, -- Refers to AGY_RELN.AGY_RELN_ID
RELN_AGENCY_ID NUMBER(9) not null, -- Refers to AGY_AGENCY.ACY_AGENCY_ID
...............................
)
下面是一個簡單的數據
AGY_AGENCY
AGENCY_ID AGENCY_CD AGC_LEG_CD
--------------------------
1000, 'ABC', 'ABC'
1001, 'DEF', 'DEF'
AGY_RELN
AGY_RELN_ID AGENCY_ID RELATIONSHIP_LINK_TYPE
-----------------------------------------------
2000, 1000, 'PARENT_OUTLET'
AGY_REL_AGENCY
REL_AGY_ID AGY_RELN_ID RELN_AGENCY_ID
--------------------------------------------
3000, 2000, 1001
按照這個數據,機構「DEF」是「ABC」的父出口機構。
我需要制定一個SQL查詢,將返回所有的父母,祖父母。 AGENCY_ID
s(數據可以跨越多個級別的層次結構)從特定的AGENCY_ID
開始。
做了一些研究條款「的連接」。 – OldProgrammer