데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.


[데이터 복사를 할 때 원본이 되는] A 라는 사람과
[데이터 복사를 할 때 새로 만들어지는] B라는 사람이 있고.

<소유물 테이블>
<번호 테이블>

이 있습니다.  지금 제가 하려는 것은

<소유물 테이블>
<번호 테이블>

에 특정사람 A의 정보를 B라는 사람에게 모두 (10~20개) 덮어 씌우는 과정입니다..

B라는 사람은 이전에 값이 있기에 모두 DELETE 시킨 후에,


<첫번째 쿼리문>
INSERT INTO 소유물 테이블 (아이디컬럼, 컬럼2) 
SELECT 'B아이디', '컬럼2
FROM 소유물 테이블
WHERE 아이디 = 'A라는사람'

이렇게 B라는 사람의 정보를 A에 복사를 하였구요 (여기 까지는 모두 순조롭습니다.)


그 후에 번호를 복사시키는 과정에서

<두번째 쿼리문>
INSERT INTO 번호테이블 (아이디컬럼, 컬럼2, 컬럼3, @특정번호@) 
SELECT 'B아이디', A.컬럼2, A.컬럼3, B.@특정번호@
FROM 번호테이블 as A inner join 소유물테이블 as B on @특정번호@ = @특정번호@
WHERE A.컬럼 = '문자열'

이런식으로 하였습니다만

위의 쿼리문은 [왼본이 되는] A라는 사람의 [번호테이블] 안에 있는 컬럼의 Index 컬럼의 값이 추가되고 있습니다.

저는 [복사가 되는 대상] B라는 사람이 복사된 [번호테이블] 안에 있는 (1씩 추가가 된) Index 컬럼의 값으로 복사를 하고 싶습니다.


다시 정리해서 여쭈어 본다면

첫번째로 복사를 했던 [소유물 테이블]의 A라는 사람의 모든 정보들의 [Index 칼럼]이 PK 값으로 되어있어서, (고유번호)

복사가 진행된 [소유물 테이블] 의 B라는 사람의 [Index 컬럼]은 A와 똑같이 복사가 되지 않고,

아시다시피 마지막 [Index (PK) 값]의 +1로 한 번씩 계속 추가되어 저장이 되었습니다.


이때 <첫번째 쿼리문>으로 복사 된 B의 정보가 있는 <소유물 테이블>의 플러스가 된 [Index 칼럼(PK값)]의 값을

<두번째 쿼리문> 에서 복사를 진행할 때

B의 [플러스가 된 Index 값]을 B 사람의 <번호테이블> 안에 있는 @특정번호@ 컬럼에 하나씩 INSERT INTO를 하고 싶습니다.. 


즉 위의 과정을 제가 생각하는 잘못된 쿼리문으로는

<두번째 쿼리문을 인용하여 하고자하는 쿼리문 (잘못된 쿼리)>
INSERT INTO 번호테이블 (아이디컬럼, 컬럼2, 컬럼3, @특정번호@) 
SELECT 'B아이디', A.컬럼2, A.컬럼3, B.@특정번호@
FROM 번호테이블 as A inner join 소유물테이블 as B on @특정번호@ = (SELECT @특정번호@ FROM 번호테이블 WHERE 컬럼 
= Blah)
WHERE A.컬럼 = '문자열'

이런 식으로 지정을 하고 싶습니다.

도대체............ 어떻게 해야 되나요???....
1111.png



위는 제가 업데이트를 해본 것인데 (이너조인) 상위 하나의 값만 복사가 됩니다...


즉 이 사진처럼 총 4개의 테이블이 있고

1, 3 번째는 PK값입니다

증가된 3번째 테이블의 PK값을

4번째 테이블에 순차적으로 대입을 시키고 싶습니다.

4개 테이블의 모든 번호의 컬럼 이름은 모두 같습니다..

제발 도와주세요 능력자분들....

제발 부탁드립니다..

눈물 흘리고 있습니다..

살려주세요..
No. Subject Author Date Views
9749 ##MS_Policy ~## 계정 pw변경 문의 샬랄라 2017.02.22 2672
9748 고수님들아..DB에 저장되어있는 암호화된 데이터를 복호화하는 방법 부탁드려요 [1] neiyan 2017.02.21 2311
9747 sql2005에서 2012로 마이그레이션 조언요청.. [1] 극좌파 2017.02.21 2445
9746 주민번호 뒷자리 업데이트 [4] 아톰 2017.02.21 2205
9745 쿼리 질문 드립니다. [4] 오늘밤은안돼요 2017.02.21 2224
9744 답이 보이지 않아 SQL 문의드립니다. ㅠ_ㅠ [2] 김민엽_279256 2017.02.21 2954
9743 쿼리문 문의드립니다. [2] 파워유저 2017.02.20 2093
9742 update문 대량 발생시 lock [2] 극좌파 2017.02.19 1782
» INSERT INTO, UPDATE 쿼리문 질문입니다.. [1] 무인도 2017.02.17 3380
9740 서브쿼리가 아닌 쿼리문 실행후 해당 결과값에 별도 쿼리 실행 가능여부 [1] 아무래도난 2017.02.17 1613
9739 거래처별 폼목건수 말고 품목갯수를 구하려고 하는데요.. [1] 딸기메로나 2017.02.17 3622
9738 ssms에 이런 플러그인이 있을까요? [1] 봉술의달인 2017.02.17 2381
9737 값을 특정수량씩 나누고 나머지까지 표현 가능할까요? [1] 고구망 2017.02.16 1821
9736 sql server management studio의 언어 변경에 대한 질문 입니다. icham 2017.02.16 2017
9735 열 -> 행 변환이 가능한가요? [1] 정보보안 2017.02.16 2232
9734 Batch Requests의 Batch 뜻이 무엇인가요? [1] kk 2017.02.15 2750
9733 MDX 쿼리중에 "&" 가 의미하는게 무엇인가요? [1] 디비하는조씨 2017.02.15 2910
9732 클러스터 인덱스와 인쿨루드 인덱스가 같나요? [2] kk 2017.02.13 2307
9731 커서 문에서 while 문을 빠져나가고 싶으면 어떤 코드를 써야합니까? [2] SQL열정 2017.02.13 1773
9730 SSAS 중에서 DIM 테이블 만들기 [2] 더따뜻한 2017.02.12 3607





XE Login