2016-09-07 75 views
0

我需要更新表中的多个行。Postgres更新多行

我有表customercontact

我需要更新customer其中在contact表中的链接接触具有一定值的列city。 我能得到我需要与此查询

Select cus.id, con.city 
from customer cus, contact con 
where cus.contacts_id=con.id 
    and con.city="MyValue" 

我知道如何更新一个表,但是不知道如何更新表时,行是从不同的表中查找行。

+0

'和con.city = “myvalue的”'会导致错误,除非你有一个名为列'某处MyValue'。字符串常量需要用SQL中的单引号引起来。 –

回答

1

首先,请不要使用旧JOIN(FROM逗号分隔表)。

其次,在这里你去:

UPDATE customer SET whatever = 'whatever value' 
WHERE contacts_id IN (
    SELECT id FROM contact WHERE city="MyValue" 
) 
+0

这工作完美!谢谢。 – HellOfACode