我以前从未使用过 Case 并且不知道如何执行此操作,但是由于地址更改现在出现在不习惯的数据中,因此我们在进行批发更新时遇到了一些问题。我试图将它用作 if 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)
我尝试将其包装成一个案例语句,例如:
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
哪个不起作用,我理解为什么它不起作用,但不知道从哪里开始,任何帮助都会很棒。我们每个月只使用一次来更新数据(大约 150 万条记录),它使用的资源目前完全不相关。
谢谢。