我有两个名为Share
和Balance
的SQL表。 users
是两个表中的常见列。 Share
表中的每个用户都有多行/共享。
我需要做的是在paid
表格中更新Share
列,在每个共享中添加1,并且无需在balance
Balance
列中添加添加的计数}表。比如说,用户在Share
表中有3行/股,如果我为每个共享添加+1,那么在balance
表的Balance
列中需要添加3与现有余额。
我写了以下sql语句。它正在相应地更新Share
表,但Balance
表更新错误。见下图:
Update Share Set paid=paid + 1
Update Balance Set balance=balance + S.Paid
From balance B,share S Where B.users=S.users
答案 0 :(得分:0)
您可以使用两个选择。
对于readblity,显式连接sintax更好 如果使用别名,则应在所有列名称
中使用表别名Update Share
Set paid=paid + 1;
Update Balance B
INNER JOIN (
select users, count(*) an num_count
from share
group by user
) t on t.users = B.users
Set B.balance=B.balance + t.num_count;