table: t_a
id: 12
p_id:1
data: 10
id:12
p_id:1
data:2
id:3
p_id:3
data:32
table :t_b
id:2
p_id:1
data:45
id:4
p_id:67
data: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