在A表存着user_id,在B表有user_id和a两个字段,C表有user_id和b两个字段?

在D表有user_id和c两个字段,现在想让D表的c=B表的a加上C表的b,sql语句怎么写,user_全部是对应且唯一的,把所有的都加一遍,外界并不传值

select * from A a inner join B b on b.user_id=a.user_id inner join C c on b.user_id=c.user_id inner join D d on c.user_id=d.user_id where d.c=b.a+c.b

update:
update D set c=(select a.user_id,b.a+c.b as sum from A a inner join B b on b.user_id=a.user_id inner join C c on b.user_id=c.user_id ) as E where D.user_id = E.user_id

update D, (select B.a+C.b AS total, B.user_id from B,C where B.user_id = C.user_id) E set D.c = E.total where D.user_id = E.user_id