2017-07-24 65 views
0

我一直在试图找到如何做到这一点的方法。我目前有一张表,其中有Progress和User列。理想情况下,每个用户在表格上有不同数量的行来确定小数位的进度,但是我想找到一种方法来添加名为ProgressByUser的另一列,该列存储同一用户的进度值之和。有没有办法,我可以做到这一点,而不使用光标?使用字段值相同的列值SUM更新表格

+0

你为什么要那样做?每次表更改时都必须更新它。 –

+0

这是用于存储过程的目的。我忘了提及它是一个临时表。 –

+0

请更具体一些。举一些例子。 –

回答

1
select t1.user, t1.progress, t2.total_progress 
from your_temp_table t1 
join 
(
    select user, sum(progress) as total_progress 
    from your_temp_table 
    group by user 
) t2 on t1.user = t2.user 

inner select得到每个用户的总和。加入反对,获取所有数据。

+0

这样做,谢谢。我是新来的,所以花了一段时间才得到它。 –

相关问题