a테이블 b테이블 2개를 조인해서 계층으로 뽑고 싶습니다. 0 3 806

by 심심 [SQL Query] 계층 [2015.10.14 14:12:54]


A테이블은

AID, ANAME, AADDR이렇게 있구요

B테이블은

AID, BID, BNAME 이런식으로 되어있습니다.

이렇게 된것을
AID별로 B가 하위로 나오게 하려고 합니다.

AID, ANAME, AADDR
    BID, BNAME
    BID, BNAME
    BID, BNAME
AID, ANAME, AADDR
    BID, BNAME

이런식으로 나오게 쿼리를 할 수 가 있나요???


제가 쿼리는 잘몰라서... 어떤 함수를 쓰면 가능한건지..

테이블 1개일경우에는 CONNECTBY이런거 쓰면 가능할듯한데...

고수님들 부탁드립니다..ㅜㅜ

 

by 우리집아찌 [2015.10.14 14:23:10]

그냥 UNION ALL 해서 조회해도 될듯한데요.

A TABLE , B TABLE 구분값은 줘야죠.

계층 쓰시려면 인라인뷰로 묶으셔서 한테이블처럼 쓰시면되죠


by 심심 [2015.10.14 14:38:14]

안녕하세요~ 우리집아찌님...

union all로 작성하면 될거 같다고 해주셨는데요~

제가 쿼리를 많이 몰라서..어떤방식으로 union all을 해야할지..

간단하게 설명부탁드려도 될까요??ㅜㅜ 부탁드립니다.

 

 


by 창조의날개 [2015.10.14 15:31:03]

SELECT DECODE(GP,1,AID) AID, ANAME, AADDR
FROM (
    SELECT AID, ANAME, AADDR, 1 GP FROM A테이블
    UNION ALL
    SELECT AID, BID, BNAME, 2 FROM B테이블
)
ORDER BY AID, GP
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입