これまでケースを使用したことがなく、これを行う方法がわかりませんが、以前は使用されていなかったデータにアドレスが変更されたため、大規模な更新を行う際に問題が発生しました. if then ステートメントとして使用しようとしていますが、間違っていると確信しています。フィールドが空または null の場合、住所を更新する必要があります。
UPDATE defendants_ALL_Fixed
SET tiffAdd = tiffAdds.Add1, tiffZip = tiffAdds.Zip, tiffCity = tiffAdds.City, tiffState = tiffAdds.State
FROM defendants_ALL_Fixed INNER JOIN
tiffAdds ON defendants_ALL_Fixed.tiff = tiffAdds.Tiff
WHERE (defendants_ALL_Fixed.tiff = tiffAdds.Tiff)
私はそれを次のようなケースステートメントにラップしようとしました:
SELECT
a.tiffAdd
, CASE WHEN a.tiffAdd = '' THEN
UPDATE defendants_ALL_Fixed
SET tiffAdd = tiffAdds.Add1, tiffZip = tiffAdds.Zip, tiffCity = tiffAdds.City, tiffState = tiffAdds.State
FROM defendants_ALL_Fixed INNER JOIN
tiffAdds ON defendants_ALL_Fixed.tiff = tiffAdds.Tiff
WHERE (defendants_ALL_Fixed.tiff = tiffAdds.Tiff)
END
FROM defendants_ALL_Fixed a
これは機能しませんでした。なぜ機能しないのかは理解していますが、ここからどこに行けばよいのかわかりません。これを月に 1 回だけ使用してデータ (約 150 万レコード) を更新し、使用するリソースは現時点ではまったく関係ありません。
ありがとう。