我目前正在处理根据两个表中的城市字段从table1.state
中的数据更新table2.state
的查询。换句话说,当table1和table2中的city字段匹配时,使用table2中的状态更新table1。我遇到的问题是,如果没有城市匹配,就会投入随机状态,如爱达荷州或加利福尼亚州。是否有办法指示"如果table1和table2中没有城市匹配,则插入' NA'进入table1"
table1 table2
city state city state
tulsa tulsa Oklahoma
san diego san diego California
exmouth
lyon
这是我到目前为止所做的,我似乎无法弄清楚' IF
'声明将会或甚至是必要的。
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)
答案 0 :(得分:0)
从WHERE
语句中删除UPDATE
条件。
WHERE city IN (SELECT city FROM table2 WHERE table2.city = table1.city)
SELECT
中的条件会恰当地处理匹配。