通过添加来修改表字段

时间:2010-10-31 22:08:08

标签: sql postgresql

我有Table1,我想修改previous_sum,其中previous_sum是表2中数字字段的总和,直到该特定日期。例如:

Table1

Date___|___previous_sum
01/01__|___20
01/02__|___50
01/03__|___100

Table2

Date___|___numbers
01/01__|___20
01/02__|___30
01/03__|___50

因此,previous_sum在开头为0但是根据截至该日期的数字字段中的内容,我希望它相应地添加到previous_sum。

3 个答案:

答案 0 :(得分:2)

UPDATE  table1
SET     previous_sum = 
        COALESCE(
        (
        SELECT  SUM(numbers)
        FROM    table2
        WHERE   table2.date <= table1.date
        ), 0)

答案 1 :(得分:0)

UPDATE Table1 
SET [previous_sum] = (SELECT SUM(numbers) WHERE Table2.Date <= Table1.Date)

答案 2 :(得分:0)

我不太确定你在问什么,但我觉得你的意思是这样的?

UPDATE Table1 SET Previous_Sum = Table2.numbers
FROM Table1
INNER JOIN Table2 ON Table1.Date = Table2.Date

P.S。如果你需要一个SUM,只需添加一个分组和SUM数字