日期:2014-05-17  浏览次数:20640 次

求助,在SQL数据库中如何将一个表中某几列单元格求和后的数据,更新到另一张新表中

请问,如何将dbo.Clicks中的同一CodeID的Clicks的值求和,并插入到dbo.BusCode表中对应CodeID的Views中,如果Views中已经有值,把那个和跟这个旧值相加,插入到Views中

最好能用update命令一句话执行

------解决方案--------------------

--更新
;with cte as(
select codeid as cid,sum(clicks) as csum from dbo.clicks
group by codeid
)
update dbo.BusCode set views=views+csum from cte where codeid=cid 

------解决方案--------------------
update dbo.BusCode 
set views=views+csum 
from 
(
select codeid,sum(clicks) as csum 
from dbo.clicks
group by codeid
)t
where t.codeid= BusCode.codeid 

------解决方案--------------------
你这个本来就是更新,不是插入

UPDATE dbo.BusCode
SET dbo.BusCode.VIEWS=dbo.BusCode.VIEWS+b.clicks
FROM (
SELECT codeid,SUM(clicks)clicks
FROM dbo.Clicks
GROUP BY codeid)b
WHERE dbo.BusCode.codeid=b.codeid