itno xh name total sa se ma
1 1 经费支出
1 2 直接支出 8 4 3
1 3 间接支出 4 1 0
2
2
2
.
如图,类似此表。希望吧sa se ma三项求和赋值到total然后把直接支出和间接支出求和赋值到经费支出。求sql语句,新手谢谢.
------解决思路----------------------
--更新total
update table_name set total=sa+se+ma where name in ('直接支出','间接支出')
------解决思路----------------------
--更新total 经费支出 试试,好像有点问题,你看看,不行再问
update table_name set total=(select SUM(total) from table_name as t where name in ('直接支出','间接支出') group by itno)
where name='经费支出'
------解决思路----------------------
UPDATE a SET sa=b.sa,se=b.se,ma=b.ma
FROM TB a
JOIN
(
SELECT itno,SUM(sa) sa,sum(se) se,SUM(ma) ma
FROM TB
WHERE xh IN (2,3)
GROUP BY itno
) b ON a.itno=b.itno AND a.xh=1
UPDATE TB SET total=sa+se+ma