현재 작업중인 프로젝트에서 필자는 특별한 상황을 경험했습니다. 다음 표 구조를 고려하시기 바랍니다 : 아래 여러 테이블에 걸친 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
부터 시작하여 AGENCY_ID
(데이터는 여러 계층의 계층에 걸쳐있을 수 있음).
은 SQL 바이올린 있습니다에 대한 몇 가지 연구를 수행 절 "하여 연결". – OldProgrammer