오라클 조인 질문드립니다 2

by 애지현민 [SQL Query] [2022.03.25 13:21:00]


안녕하세요.  오라클 조인관련해서 질문드립니다.

테이블1       테이블2    
성명 항목1 항목1 금액   성명 항목2 항목2 금액
이름1 A011 10   이름1 D01 30
이름1 A02 20   이름1 D02 40
        이름1 D03 50
        이름1 D04 60

 위의 데이타를 아래와같이 조회하고 싶은데 잘 생각이 안나네요

결과        
성명 항목1 항목1 금액 항목2 항목2 금액
이름1 A011 10 D01 30
이름1 A02 20 D02 40
이름1     D03 50
이름1     D04 60

도움 부탁드리겠습니다.

 

by 마농 [2022.03.25 13:47:16]
WITH t1 AS
(
SELECT '이름1' nm, 'A011' cd, 10 amt FROM dual
UNION ALL SELECT '이름1', 'A02', 20 FROM dual
)
, t2 AS
(
SELECT '이름1' nm, 'D01' cd, 30 amt FROM dual
UNION ALL SELECT '이름1', 'D02', 40 FROM dual
UNION ALL SELECT '이름1', 'D03', 50 FROM dual
UNION ALL SELECT '이름1', 'D04', 60 FROM dual
)
SELECT nm
     , rn
     , MIN(cd1 ) cd1 
     , MIN(amt1) amt1
     , MIN(cd2 ) cd2 
     , MIN(amt2) amt2
  FROM (SELECT ROW_NUMBER() OVER(PARTITION BY nm ORDER BY cd) rn
             , nm
             , cd   cd1
             , amt  amt1
             , null cd2
             , null amt2
          FROM t1
         UNION ALL
        SELECT ROW_NUMBER() OVER(PARTITION BY nm ORDER BY cd) rn
             , nm
             , null cd1
             , null amt1
             , cd   cd2
             , amt  amt2
          FROM t2
        )
 GROUP BY nm, rn
 ORDER BY nm, rn
;

 


by 애지현민 [2022.03.25 14:19:02]

많은 도움되었습니다.

감사합니다!

좋은하루되세요!

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