私はテーブル_field
を持っています。何らかの理由でblock
というテーブル内のフィールドが乱雑になり、今や間違ったブロック番号が含まれています。 私は_field
のデフォルトデータを持っていますが、他のフィールドのいくつかは、外国の制約やもののためにデフォルトでは使用できないため、デフォルトデータを復元することはできません。 今のところ、tmp_field
という新しいテーブルを作成し、デフォルトの_field
データを入力しました。他のフィールドに触れることなくテーブルのidフィールドを更新する必要があります
は今、私は_field
からデータを受け取り、tmp_field
からblock
番号と一致する_field
にblock
数字のすべてを変更するクエリを必要とします。
それがあろうフレーズする別の方法:それは_field
の各行をチェックし、いくつかのフィールド(等fieldid
又はname
)はtmp_field
における同じフィールドと一致する場合、それは値と一致するように_field
のブロックの値を変更
tmp_field
のブロック
注:私はPostgreSQL 9.1を使用しています。
ありがとうございます。
ありがとう、特に迅速な対応です。私は同様のことを試しましたが、 'FROM'節について知らなかったので動作しませんでした。また、 'fieldid'は' _field.fieldid'で 'name'と同じでなければなりませんが、これはうまくいきます。本当にありがとう。 – zermy
@zermy:コメントごとに更新された回答。 –