2016-06-13 9 views
1

두 개의 테이블이 있습니다.데이터 유형이 동일하지만 열 이름이 다른 테이블로 값을 삽입하십시오.

두 테이블의 열은 같지만 열의 이름이 다르게 지정됩니다.

제 테이블 컬럼 가지고

|ID_pk|Name 

초 테이블 컬럼에만 고유 [ID] (일대일) 가지고

|SerialNumber|FullLegalName|PassportNumber_fk| 

및 액형 갖는다 [SerialNumber]와 [PassportNumber]의 일대 다 관계

[ID] 및 [SerialNumber] 열에서 수행하는 작업 일치하는 값이 없습니다.

[ID] 및 [이름] 값을 [SerialNumber] 및 [FullLegalName]에 각각의 [PassportNumber (s)]와 함께 두 번째 테이블에 삽입해야합니다. 당신은 다음처럼 할 수있는이 같은

답변

1

시도 뭔가,

update tbl2 
set tbl2.SerialNumber= tbl1.id, 
    tbl2.FullLegalName = tbl1.Name 

from tbl1, tbl2 
where tbl2.PassportNumber = 'something'; 
0

.

하지만 첫 번째와 두 번째 테이블의 column 속성이 동일해야합니다.

update SecondTable 
set SerialNumber = ft.ID, 
    FullLegalName = ft.Name 
from FirstTable as ft 
    inner join SecondTable as st on ft.Id = st.PassportNumber_fk_ColumneName 
    inner join ThirdTable as tt on st.PassportNumber_fk_ColumneName = tt.PassportNumber_pk_ColumneName 
+0

문제는 내가 제 1 및 제 2 테이블에 일치하는 값을하지 않아도, 그래서 "이 어떻게해야 조인 무엇인지 잘 모르겠어요. 아니가? – enigma6205

+0

질문을 존재하는 내가 더 잘 사용할 수 있음 나는 다른 솔루션 CTE를 개발했으나 어려움을 겪고있다. 나는 새로운 질문에 대한 링크를 게시 할 것이다. http://stackoverflow.com/questions/37801035/update-with-cte-does-not- 인식 - 컬럼 이름 - 인 - 세트절 – enigma6205