table: t_a id: 12 p_id:1 data: 10 id:12 p_id:1data:2id:3p_id:3data:32table :t_bid:2p_id:1data:45id:4p_id:67data:56我是想用一条update 更改t_b 里和t_a p_id 相同的data 我是这样写的update t_a as a left join t_b as b on a.p_id=b.p_id set b.data=b.data-a.data 但是这样运行时,只在t_b 里减了一次,不知道为什么呢?
=======================================
正确的sql代码是:
update t_b as b right join (select sum(data) as c,p_id from t_a group by p_id) as a on b.p_id=a.p_id set b.data=b.data-a.c