2014-09-25 2 views
0

두 데이터베이스 (A와 B)가 있는데 데이터베이스 A의 테이블 T1에서 한 열을 엉망으로 만들 때까지 둘 다 동일합니다 ... 기본적으로 모두 설정 해당 열의 레코드를 NULL로 설정하십시오. 데이터베이스 B의 해당 열의 올바른 데이터로 데이터베이스 A의 T1에 잘못된 열을 어떻게 업데이트합니까?데이터베이스 테이블의 한 열을 다른 데이터베이스 테이블의 다른 열로 복사 SQL 서버

null 값을 삽입 할 수없는 데이터베이스 A의 T1에 더 많은 열이 있기 때문에 삽입 명령이 작동하지 않았습니다.

insert into A.dbo.finance (finishdate) 
select finishdate 
from B.dbo.finance 

내부 결합에는 지치지 만 "다중 부분 식별자는 연결할 수 없습니다"라고되어 있습니다. 불행히도 데이터베이스 A의 다른 테이블에있는 데이터는 이후 데이터베이스 B를 사용하여 간단히 변경할 수 없습니다 .-)

누군가 도와 주시겠습니까? ID가 두 테이블의 id 컬럼 인 경우

+1

왜 한 열의 값을 변경하려면 삽입 하시겠습니까? 그것은 업데이트가 아니어야합니까? –

+0

매우 사실 Nadeem. 업데이트 명령이 나를 위해 일했습니다 :-) 감사합니다. – Nicki

답변

2

, 당신은 그들과 합류하고 원하는 업데이트해야합니다 :

UPDATE A.dbo.finance 
SET finishdate = B.finishdate 
FROM A.dbo.finance A 
     JOIN B.dbo.finance B 
      ON A.ID = B.ID 
+0

트릭을 많이 한 Giannis에게 감사드립니다 .--) 많이 감사합니다 – Nicki

0

DATABASE의 B를

Select finishdate into ##temp from dbo.finance B where 1 = 1 

데이터베이스

insert into dbo.finance(finishdate) 
    select * from ##temp t where NOT EXISTS 
(Select 1 from dbo.finance WHERE finishdate <> t.finishdate ) 
+0

답장을 보내 주셔서 대단히 감사합니다. Mohan – Nicki

관련 문제