我正在使用oracle(10)。根據另一個表的小計更新字段
我有兩個表如下:
Table1 (uniq rows):
ID AMOUNT DATE
Table2:
ID AMOUNT1 AMOUNT2 ...AMOUNTN DATE
表2連接多對一到Table通過ID連接。
我需要的是更新Table1.DATE:來自Table2的最後一個(最早的)日期,其中Table1.AMOUNT - SUM(Table2.AMOUNT1)< = 0,當向Table2DATE字段向後讀取表2時。
有沒有簡單的方法來做到這一點?
在此先感謝!
更新:正如我從您的答案中看到的,我錯誤地指出了這個問題。所以這裏去一個詳細的例子:
表1有:
ID: 1 AMOUNT:100 DATE:NULL
表2已(對ID:1,因此ID沒有在這裏列出):
AMOUNT1 DATE
50 20080131
30 20080121
25 20080111
20 20080101
因此,在這種情況下,我需要20080111
與Table1中的DATE一樣爲50 + 30 + 25 => 100.
你爲什麼不提供創建表的腳本?這使得回答你的問題變得更容易。你爲什麼要打電話給專欄'日期'?您無法創建名爲'date'的列名稱的表格。 – tuinstoel 2009-01-13 12:51:00
50 + 30 + 25> = 100 – tuinstoel 2009-01-13 13:06:47
我同意tuinstoel,你的問題非常模糊地表達和難以遵循。起初你說<= 0,那麼在你的例子中<= 100.你的意思是<= (or > =)table1.amount? – 2009-01-13 13:18:58