DB에 데이터 쉽게 넣는 방법? 0 2 115

by dkfldkfl [SQL Query] [2018.09.12 13:49:47]


DB에 데이터를 넣는 작업을 하고 있습니다( 그냥 수작업으로 데이터 원본을 DB에 넣는 것이요)

 

이때 A테이블의 구조는 id, name, sub_id고

B테이블의 구조는 sub_id, sub_name 입니다   A테이블의 sub_id 는 B테이블의 sub_id를 보고 있습니다

 

이 때  문제가  데이터의 원본이  A테이블의 구조와 조금 다릅니다

id, name, sub_name 입니다, sub_name을 해당 sub_id 로 바꿔서 넣어야 합니다

 

처음에는 sub_name을 그대로 넣은 다음에 하나씩 바꿀까도 생각했지만 sub_name은 스트링 값이고

 

A테이블의 sub_id는 latin1 char(10) 형식이라서 잠시 넣어두는것 조차 안됩니다.

 

그래서 바로 가공을 해서 넣어야하는데 좋은 방법이 있을까요?

 

 

 

by 신이만든지기 [2018.09.12 16:20:02]

1. 디비가 오라클인가요?

2. 데이터 원본이 뭔가요? 테이블인가요?

3. 어느 테이블의 어느 데이터를 업데이트 해야 되는 건가요? (데이터의 원본이 뭔지 모르겠으나 이것으로 a테이블의 데이터를 바꾸겠다는 건지요?, 아니면 반대인가요?)

답변해주는 사람은 질문자의 상황을 모르니, 자세히 설명해주지 않으면 답변해주기 어렵습니다.

샘플 데이터들을 보여주면 더욱 좋죠.


by 창조의날개 [2018.09.12 17:11:48]

INSERT INTO 테이블A(ID, NAME, SUB_ID)
SELECT ID, NAME,
       (SELECT SUB_ID FROM 테이블B WHERE SUB_NAME = AA.SUB_NAME)
FROM 테이블A원본 AA
;

-- 테이블B의 SUB_NAME이 유니크해야 합니다.

 

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