2012-02-21 2 views
0

새 데이터와 함께 오래된 레거시 데이터가있는 테이블이 있습니다. 이전 데이터에는 새 데이터처럼 채워진 모든 필드가 없습니다. 이전 데이터를 업데이트하여 새로운 데이터와 일치 시키려고합니다. 필드는 int이며 사용자 ID를 나타냅니다. Created_By 필드의 기본값은 User_ID입니다. 즉, 레거시 데이터에서 created_by 값을 user_id와 같게 설정합니다.SQL 업데이트 : 한 열에서 값 가져 오기 및 다른 열에서 값 바꾸기

예 필드 :

Created_By | User_ID 
NULL  | 1234 
NULL  | 2345 
NULL  | 1234 
NULL  | 6742 
1234  | 1234 
2345  | 1234 

그래서 난 단지 NULL 값을 업데이트하고 싶습니다. 그러나 각 행에 대해 User_ID를 가져 오는 방법을 알지 못합니다. 이 같은

뭔가 :

update my_table 
set Created_By = ??? (the respective User_ID for that row) 
where Created_By is null 

그래서 업데이트는 다음과 같아야합니다

Created_By | User_ID 
1234  | 1234 
2345  | 2345 
1234  | 1234 
6742  | 6742 
1234  | 1234 
2345  | 1234 

답변

8
update my_table 
set Created_By = User_ID 
where Created_By is null 
관련 문제