sky11167
一般會員
發表:3 回覆:9 積分:1 註冊:2006-07-17
發送簡訊給我
|
請問各位前輩加總問題: 後學有1個資料表如下,設目前只有累計是空白[即尚未填值]
年度 月 部門 金額 累計 [附註: 累計這個欄位,希望填入的值如下] 2006 01 A 10 空白 10 2006 01 B 20 空白 20
2006 02 A 70 空白 80[上月累計 本月金額=10 70=80, 彙總的條件是:依年度 月 部門] 2006 02 B 5 空白 25[上月累計 本月金額=20 5 =25]
2006 03 A 30 空白 110[上月累計 本月金額=80 30=110] 2006 03 B 15 空白 40[上月累計 本月金額=25 15 =40] .....其他月份以此類推 請教各位前輩是如何在delphi加總,然後寫入資料庫! 懇求並且感恩各位前輩幫忙!謝謝您
|
Fishman
尊榮會員
發表:120 回覆:1949 積分:2163 註冊:2006-10-28
發送簡訊給我
|
UPDATE YOUR_TABLE T SET AGGREGATE_FIELD = (SELECT NVL(SUM(AMOUNT), 0) FROM YOUR_TABLE TT WHERE TT.YEAR = T.YEAR AND TT.MONTH <= T.MONTH AND TT.DEPT = T.DEPT)
------ Fishman
|
sky11167
一般會員
發表:3 回覆:9 積分:1 註冊:2006-07-17
發送簡訊給我
|
Fishman前輩您好:
後學寫了下面程式,可是sql無法執行, 把 '' 摘掉時delphi會出現錯誤. 真的想破頭了,不知道該怎麼改,懇請前輩再幫幫後學的忙!!! delphi程式如下 with UpdateQuery.SQL do begin clear; Add('update GL10351'); Add('set GL10300_ACU=' '(select(SUM(GL10300_BAMT)) FROM GL10351' ' ' ); Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON<=''' MON ''' '); Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' ) '); Add('FROM GL10351 '); Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON =''' MON ''' '); Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' '); UpdateQuery.SQL.SaveToFile('c:\1.txt'); end;
執行程式後產生之SQL語法:1.txt如下 update GL10351 set GL10300_ACU= ' (select(SUM(GL10300_BAMT)) FROM GL10351' //多了2點''造成更新失敗 where GL10350_YEAR='2005' and GL10351_MON<='01' //不管在Delphi怎麼改都失敗,懇求前輩幫忙 and GL10100_CODE='610101' and GL10350_DEPT='8787' ) FROM GL10351 where GL10350_YEAR='2005' and GL10351_MON ='01' and GL10100_CODE='610101' and GL10350_DEPT='8787'
|
Fishman
尊榮會員
發表:120 回覆:1949 積分:2163 註冊:2006-10-28
發送簡訊給我
|
with UpdateQuery.SQL do begin clear; Add('update GL10351'); Add('set GL10300_ACU=(select(SUM(GL10300_BAMT)) FROM GL10351'); Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON<=''' MON ''' '); Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' ) '); Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON =''' MON ''' '); Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' '); SaveToFile('c:\1.txt'); end;
Fishman
------ Fishman
|
sky11167
一般會員
發表:3 回覆:9 積分:1 註冊:2006-07-17
發送簡訊給我
|
今天是凱米颱風遍掃台灣的黑暗時刻 但幸運的是 一早收到FishMan前輩指點迷津的信件 真是後學心坎裡的一道溫暖的曙光 真的是非常感恩您 也謝謝您 那麼無私的普照後學內心的無明[唉 寫不出程式真是苦悶啊] FishMan前輩真的是功德無量啊 一級棒棒棒!! !! !! !! !! !! !!
|