쿼리 질문있습니다 0 8 196

by fkdltpstjd [2018.03.07 16:13:05]


1번테이블과 2번테이블이 있는데요

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() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입