1번 테이블은 상위항목이랑 하위항몰으로 구성되어 있는 트리구조의 테이블이고 2번테이블은 1번테이믈의
하위항목들의 지점항목을 가지고 있는 테이블인데 두 테이블을 조인시키면 1번테이블의 트리구조가 깨지는데 어떻게 조인시켜야 하는지 질문함니다
by 마농
[2018.03.07 16:16:29]
구체적인 예를 보여주세요.
쿼리라든지? 예시자료(원본 대비 결과표)라든지.
by fkdltpstjd
[2018.03.07 17:03:30]
select a.t1
a.t2
a.t3
b.t1
from a a
, b b
where
a.t1=b.t2(+)
start with a.t3 is null
connect by a.t3=prior a.t2
by 마농
[2018.03.07 17:11:38]
쿼리만 봐서는 정렬이 흐트러 질것 같지 않은데요?
어떻게 흐트러져 나오는지? 결과를 보여주세요.
by 마농
[2018.03.07 17:21:38]
혹시 a 와 b 의 관계가 1:M 관계인가요?
그렇다면? 트리구조가 중복적으로 발생할 것입니다.
다음과 같이 변경하셔야 합니다.
- 변경전 : 조인 > 계층
- 변경후 : 계층 > 조인
SELECT a.t1
, a.t2
, a.t3
, b.t1
FROM (SELECT a.t1
, a.t2
, a.t3
, ROWNUM rn
FROM a a
START with a.t3 IS NULL
CONNECT BY a.t3 = PRIOR a.t2
) a
, b b
WHERE a.t1 = b.t2(+)
ORDER BY a.rn
;
by fkdltpstjd
[2018.03.07 17:45:04]
1;다 구조여서 b테이블에 저장된 개수 만큼 조인이 됩니다
by 마농
[2018.03.07 18:03:24]
이 댓글은 어떤 의미의 댓글인가요?
당연한 얘기를 서술식으로 적으셔서 의도를 모르겠네요? 이게 질문인지? 아닌지?
혹시 1:M 관계에 의해 여러줄로 나오는걸 한줄로 나오게 하고 싶다는 건가요?
by fkdltpstjd
[2018.03.07 18:15:42]
중복되는 건은 삭제하려고 합니다
by 마농
[2018.03.07 18:29:51]
질문에 "어떻게" 가 빠졌네요.
중복된걸 어떻게 1건으로 만드는지에 대한 기준을 제시해 주세요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.