当前位置: 代码迷 >> Sql Server >> sql求和并赋值,该怎么处理
  详细解决方案

sql求和并赋值,该怎么处理

热度:80   发布时间:2016-04-24 09:16:42.0
sql求和并赋值
本帖最后由 qq_21021037 于 2015-02-05 15:20:36 编辑
 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
  相关解决方案