테이블이 있지만 트리를 추출하는 관계를 쓸 수 없습니다. 여기 Oracle에서 계층 적 쿼리를 생성하는 방법은 무엇입니까?
데이터의 예는 다음과 같습니다LOT_ID | LOT_PRODUCED | ITEM_PRODUCED | ITEM_USED | LOT_USED | OPERATION | STEP
------ | ------------ | ------------- | --------- | -------- | --------- | ----
1 | LOT_1 | ITEM_1 | null | null | P | STEP_1
1 | null | null | ITEM_1 | LOT_1 | C | STEP_2
5 | null | null | ITEM_2 | LOT_2 | C | STEP_2
5 | LOT_2 | ITEM_2 | null | null | P | STEP_8
5 | null | null | ITEM_2 | LOT_2 | C | STEP_1
6 | null | null | ITEM_2 | LOT_7 | C | STEP_8
LOT_PRODUCED = LOT_1에서 시작, 나는 시작의 많은 단계에 링크 모든 단계에 나무를 가지고 싶습니다.
이 예에서 STEP_1 (LOT_1을 생성 한 단계)은 LOT_2를 소비합니다. 이 로트는 STEP_8에서 생성되었습니다. 이 단계는 차례로 LOT_7을 소모합니다. 등등.
START WITH 및 CONNECT BY의 개념을 이해한다고 생각하지만 링크가 열 사이에서 '점프'되므로이 경우를 해결할 수 없습니다. 정의 된 부모와 자식이 없습니다.
간단한 쿼리로 해결할 수없는 경우 저장 프로 시저에 대해 열려 있습니다.
편집 : Here is a drawing of the data shown above
그래서 왼쪽에있는 링크의 설명이 있습니다 : 단계가 많이 생산
- 많은
오른쪽에 링크가 있습니다 : conn의 번호 ectors는 위에 표시된 데이터의 행 번호입니다.
진흙 투성이.어떤 행에서 LOT_1이 (가) LOT_2를 소비하는지 나타냅니다. 직접 또는 다른 행 체인에 의해 테이블 사이에 연결이 표시되는 행이 없습니다. (있을 경우 설명해주세요.) – mathguy
로트, 아이템 및 단계라는 세 개의 엔티티가있는 것처럼 보입니다. 그러나 나는이 것들 사이의 관계가 무엇인지 명확하지 않다고 생각합니다. 당신이 질문을 편집하여 (대략)이 것들이 무엇인지 나타낼 수 있습니까? 아이템을 만드는 단계, 아이템을 사용하는 단계 및 많이 사용하는 단계처럼 보입니다. 명확히 해 주시겠습니까? – halfer
질문에 포함 된 그래픽 표현이 문제를 설명하는 데 도움이 될 수 있습니다. – halfer