2016-09-07 93 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