使用IN更新另一个表postgresql中的数据

时间:2014-07-14 06:14:01

标签: sql postgresql

我有2个表:table1和table2.When使用此查询时,

SELECT * 
FROM table1 a 
WHERE a.name IN (SELECT name FROM table2 )

结果是20。

当我想根据此查询更新数据时

UPDATE table1 SET number='1' 
FROM table1 a 
WHERE a.name IN (SELECT name FROM table2)

结果是所有数字都将设置为1而不是20.默认数字为0.

1 个答案:

答案 0 :(得分:0)

试试这个

UPDATE table1 t1 SET number=1
JOIN table2 t2 ON t1.name = t2.name