我正为一些简单东西而苦苦挣扎。
目前我有2张桌子(tmp_jmo和个人)
table tmp_jmo
----------
ID ADRESS PERSON_ID
115 Street 1 (null)
120 Street 2 (null)
121 Street 3 (null)
Table persons
ID NAME PERSON_ID
----------
115 John 14
120 Ellen 27
121 Mark 114
现在我想用Peson_id
(人员表)中的值更新tmp_jmo
中的person_id
在这种情况下,我得到了很多值错误
Update tmp_jmo t SET person_id = persons.person_id where tmp_jmo.id = persons.id;
我也尝试使用临时数据,但是也失败了。
很抱歉打扰您这种问题,但这却毁了我的一天!
非常感谢!
答案 0 :(得分:2)
在标准SQL中,您可以执行以下操作:
update tmp_jmo t
set person_id = (select p.person_id from persons p where tmp_jmo.id = p.id);
许多数据库在join
s中还支持from
或update
,但这是特定于数据库的语法。