关于一个SQL查询语法 |
答題得分者是:cashxin2002
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select 项目类型,Sum(应收金额) from tb_sf where 收费日期 between :Date1 and :Date2');
ADOQuery1.SQL.Add('Group by 项目类型 ');
ADOQuery1.Parameters.ParamByName('Date1').Value := formatdatetime('yy-m-d',DateTimePicker1.Date);
ADOQuery1.Parameters.ParamByName('Date2').Value := formatdatetime('yy-m-d',DateTimePicker2.Date);
ADOQuery1.Open;
if ADOQuery1.IsEmpty then
showmessage ('没有找到相符的记录')
想要达到的效果:数据表中字段名为项目类型的,如果项目类型的内容是一样的,那么把所有该类型的相应记录字段中的应收金额求和。比如项目类型是西药费的,那么所有的西药费的应收金额求一下和,如果是治疗费的,那么所有的治疗费求和。
实际运行中只能达到的效果:西药费和治疗费等所有存在的不同类型都可以列出来了(当然不是重复列出,只列不同的,这也是我要的效果中的一部分),但是统计结果是只有西药费的应收金额有结果(而且是把表中的所有的应收金额都加到西药费上去了,其它的比如治疗费等,都是为0.
请哪位前辈指点一二,谢谢!
------
我的编程起步于ktop,我将永远支持ktop |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 單從您的程式碼來看﹐應該是沒有問題的﹒
覺得應該是收費日期條件值的問題﹐先把收費日期的條件值刪掉﹐再跑跑看應該就可以了﹐如下﹕
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select 项目类型,Sum(应收金额) from tb_sf ');
ADOQuery1.SQL.Add('Group by 项目类型 ');
ADOQuery1.Open;
if ADOQuery1.IsEmpty then
showmessage ('没有找到相符的记录') 收費日期欄位形態為何﹖ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
cashxin2002前辈,您好!
我估计和日期没有关系的,因为我的另一段几乎一样的代码是运行成功的(好象也是您指点过的)我的另一段代码中就是改成了count(数量),项目类型改成的是项目名称,其它所有代码的控件都是一模一样,那个运行是成功的。
当然我也根据您的指点去掉了日期一试,结果还是这样,没什么改变,如图
我试着把SUM改成了COUNT,其它什么都不变,那么他就每个类型都有相应的值了,不会为0,不懂是不是SUM上有什么错?
另外如图上所示,西药费的总计是所有类型的总计,这个数据是对的,但实际上应该是每一个类型都有自己的值,然后总计才是那个数字。现在等于是把表中的所有类型都当作西药费来统计了,(注:我的西药费在类型表中是第一个字段)
------
我的编程起步于ktop,我将永远支持ktop |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |