[데이터 복사를 할 때 원본이 되는] 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개 테이블의 모든 번호의 컬럼 이름은 모두 같습니다..

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

제발 부탁드립니다..

눈물 흘리고 있습니다..

살려주세요..