2012-02-21 9 views
0

新しいデータとともに古いレガシーデータを持つテーブルがあります。古いデータには、新しいデータのように入力されたすべてのフィールドがありません。私はそれが新しいものと一致するように古いデータを更新したいと思います。フィールドはintで、ユーザーIDを表します。 Created_ByフィールドのデフォルトはUser_IDです。つまり、従来のデータでは、created_byの値をuser_idと同じに設定しています。SQLの更新:1つの列から値を取り込み、NULLを別の列に置き換えます。

例フィールド:

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 
関連する問題