我只是不能正确地理解这种语法。表'clients'有一个points_per_month列。表'usage'有一个'available'列和一个'client_id'列。我基本上想要重写可用值以匹配points_per_month值。我试过这个:
update usage
set available = c.points_per_month
from usage u
inner join clients c on u.client_id = c.ident;
但是这会将所有可用值设置为完全相同的数字(返回的第一个客户端的points_per_month)
答案 0 :(得分:0)
尝试类似
的内容update usage u
set available = c.points_per_month
from clients c
where u.client_id = c.ident;
答案 1 :(得分:0)
使用子选择作为赋值的经典方法应适用于每个数据库:
update usage
set available = (select c.points_per_month
from clients c
where usage.client_id = c.ident
);