데이타 조회시 Row 복사와 관련 질문있습니다. 0 2 1,900

by 최성호 [2015.02.01 16:29:07]


테이블 AA 와  BB 가 있습니다.

 

AA

A(PK) B
aaa 2
aa2 2

BB

A(FK) BB일련번호
aaa 1
aaa 2
aa2 1
aa2 2

 

테이블 A를 아래 표처럼 조회하여 BB 테이블에 한줄씩 집어넣어야 합니다.

A B
aaa 2
aaa 2
aa2 2
aa2 2

 

1줄로 조회될 AA테이블의 ROW 를  AA테이블의 B칼럼 값만큼 로우를 복제 조회할 수 있는 방법으로

무엇이  가능할까요?( BB테이블이 값이 없더라도 조회 되어야함 )

 

반대로 BB와 AA 칼럼을 조인하여 가져올수도 있어야 합니다.

 

by 마농 [2015.02.02 09:04:41]
MERGE INTO bb b
USING
(
SELECT a.a
     , c.lv b
  FROM aa a
     , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 99) c
 WHERE c.lv <= a.b
) a
ON (a.a = b.a AND a.b = b.b)
WHEN NOT MATCHED THEN
INSERT bb(a, b) VALUES (a.a, a.b)
;

단일행을 여러행으로 만들기(행복제, Row-Generation)


by 손님 [2015.02.02 16:59:55]
크 감사합니다. 역시 마농님이셔~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입