2010-10-31 35 views
1

我有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。

+0

「在此特定日期」或「到此特定日期」? – Quassnoi 2010-10-31 22:12:27

+0

截至該特定日期。對不起,會編輯。 – AnEventHorizon 2010-10-31 22:14:35

+1

什麼是'psql'?它是'PostgreSQL'還是'Oracle(PL/SQL)'? – Quassnoi 2010-10-31 22:16:53

回答

2
UPDATE table1 
SET  previous_sum = 
     COALESCE(
     (
     SELECT SUM(numbers) 
     FROM table2 
     WHERE table2.date <= table1.date 
     ), 0) 
0
UPDATE Table1 
SET [previous_sum] = (SELECT SUM(numbers) WHERE Table2.Date <= Table1.Date) 
0

我不太清楚你問什麼,但我想你的意思是這樣的?

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

P.S.如果您需要一個SUM,只需添加一個組,然後合併數字

相關問題