sqlite,从另一个表中的列更新列

sqlite,从另一个表中的列更新列,sqlite,Sqlite,我目前正在处理一个查询,该查询根据表2中的数据更新表1.state。state基于两个表中的city字段。换句话说,当表1和表2中的城市字段匹配时,用表2中的状态更新表1。我遇到的问题是,当没有城市比赛时,会随机加入一个州,比如爱达荷州或加利福尼亚州。是否有办法规定“如果表1和表2中没有城市匹配,请在表1中插入'NA'” 这是我到目前为止所掌握的,我似乎无法弄清楚一个“”语句会去哪里,或者它是否必要 UPDATE table1 SET state = (SELECT sta

我目前正在处理一个查询,该查询根据
表2中的数据更新
表1.state
。state
基于两个表中的city字段。换句话说,当表1和表2中的城市字段匹配时,用表2中的状态更新表1。我遇到的问题是,当没有城市比赛时,会随机加入一个州,比如爱达荷州或加利福尼亚州。是否有办法规定“如果表1和表2中没有城市匹配,请在表1中插入'NA'”

这是我到目前为止所掌握的,我似乎无法弄清楚一个“
”语句会去哪里,或者它是否必要

UPDATE table1
           SET state = (SELECT state FROM table2 WHERE table2.city = table1.city)
          WHERE city IN (SELECT city FROM table2 WHERE table2.city = table1.city)

UPDATE
语句中删除
WHERE
条件

SELECT
中的条件适当地处理匹配


谢谢。我不知道我怎么会忽略了这一点。
UPDATE table1
           SET state = (SELECT state FROM table2 WHERE table2.city = table1.city)
          WHERE city IN (SELECT city FROM table2 WHERE table2.city = table1.city)
WHERE city IN (SELECT city FROM table2 WHERE table2.city = table1.city)