線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1540
推到 Plurk!
推到 Facebook!

calculate欄位 如何對另一個calculate欄位的結果運算!?

答題得分者是:linbq
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-21 01:18:39 IP:61.64.xxx.xxx 未訂閱
請問各位一個問題 我有以下欄位 A B C1 D1 其中A B 為實體資料 C1 D1是calculate欄位 C1 會現去作依據A B的條件 跑幾個QUERY 去一些TABLE撈其他資料作些運算 而D1這個欄位需要 SUM(C1)的總值 條件是A B這一個GROUP的東西跑完後去才作 但是當我在第一筆計算時 我就必須把符合A B條件的calculate欄位值(C1)作加總 請問這樣如何辦到? 如下資料 (PS---C1 D1 皆是calculate欄位) A-----B------C1----D1 A-----B------100--1100 {第一筆D1無法SUM到第一筆後還未計算的C1啊 } A-----B------400--1100 A-----B------600--1100 A-----C------250---400 A-----D------150---400 如果不能辦到 以啥辦法做到 是否兩個相同的QUERY 第一個 QUERY1 先計算好C1 A-----B------C1 A-----B------100 A-----B------400 A-----B------600 A-----C------250 A-----D------150 第二個QUERY2 的開啟時 D1的calculate 再過濾 QUERY2 符合AB條件的 FILTER= AB條件 然後去跑一次資料 WHILE NOT QUERY1.EOF BEGIN V:=V QUERY1.FIELDBYNAME('C1').ASINTEGER; QUERY.NEXT; END; 以變數(V)加總 C1 在賽到D1 不好得有沒更好的方法 我覺的我想的這個方式很沒效率!! 而且 原本的QUERY開啟 計算C1就很費時了 我再開一個感覺更慢~~~! PS:有沒辦法對已經SELECT好的DATASET 再以另一個方去 去作二次統計? 把個比方 EX: SELECT A,B SUM(C1) FROM QUERY1-DATASET GROUP BY A,B ???? 我好像有點異想天開~~~~~!
------
BCDEFHIJKLMNOPQRSTUVWXZ
linbq
一般會員


發表:0
回覆:12
積分:17
註冊:2006-11-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-24 10:21:55 IP:218.17.xxx.xxx 未訂閱
1.重新优化数据表,加上一个新的字段用于解决C1的问题. (从数据库设计的角度来讲,这是一个结合实际使用情况来设计良好数据表结构的体现,这样可以免去一大堆不必要的麻烦.) 2.在编写程序时使用dephit的Aggregates对象(Aggregates字段的计算公式为sum(C1)),这样可以得到C1的合计值.
系統時間:2024-04-19 17:30:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!