0

我只是不能完全正确地理解这个语法。表“客户”有一个 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)

4

2 回答 2

0

尝试类似的东西

update usage u
set available = c.points_per_month
from clients c 
where u.client_id = c.ident;
于 2013-08-30T17:45:10.207 回答
0

将子选择作为分配的经典方法应该适用于每个数据库:

update usage
set available = (select c.points_per_month
                   from clients c
                  where usage.client_id = c.ident
);
于 2013-08-30T17:47:26.150 回答