多行UPDATE

时间:2015-04-17 09:04:41

标签: sql postgresql

我需要更新一些专栏。 t1_id属于表" h"和t2_id是列表" w"。该图显示了彼此相等的值,但具有不同的名称,即" 18840263133600217" =" 339910"

的数据

enter image description here

如何从t2_id将所有t1_id重命名为name?我想避免错误"表达式中的子查询返回多行" ..

 update h set h_user_id = 
(select distinct w.h_user_id
from h inner join w 
on h.h_ip = w.h_ip
where "some condition")

1 个答案:

答案 0 :(得分:0)

您可以使用UPDATE FROM吗?

 UPDATE h SET h_user_id = w.h_user_id 
     FROM w WHERE h.h_ip = w.h_ip AND "some condition"