我有一个表(custTAB
)缺少一些邮政编码,但是有城市和州的名称。我有一个zipTAB
有一个城市,州和邮政编码。我的目的是把丢失的邮政编码从zipTAB复制到custTAB。但是,由于某些原因,我的更新无法按预期工作。如果有10K个空的cust_zips,更新后我会得到20K个空的cust_zips。有人能查一下发生了什么事吗?)
update custTAB
set cust_zip = (select zip
from zipTAB
where custTAB.cust_zip is null and
custTAB.cust_city = zipTAB.city and
custTAB.cust_state = zipTAB.state
limit 1
);
谢谢。
注:行号经过编辑,便于阅读。
最佳答案
你能试试这个吗?您需要将两个表连接起来:
UPDATE custTab a INNER JOIN zipTab b ON
a.cust_city = b.city AND
a.cust_state = b.state
SET a.cust_zip = b.zip
WHERE a.cust_zip IS NULL