SQL语句用法变化 |
答題得分者是:Fishman
|
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;
运行效果如下:
------
我的编程起步于ktop,我将永远支持ktop |
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
ntjrr您好
既然項目類型是固定的
您可以用union語法虛構幾筆
select top 1 'item1' as 項目類型,'' as tot from tb_sf union select top 1 'item2' as 項目類型,'' as tot from tb_sf union select 項目類型,Sum(銷價) as tot from tb_sf where 收費日期 between '20050501' and '20050531' group by 項目類型 order by 項目類型................... .楛耕傷稼,楛耘失歲. ................... |
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
前辈的指点我未能悟出。我再从另一个角度来解释一下我的问题:数据表中有十来个字段,其中有两个字段,一个是项目类型,一个是单项累计,假设说项目类型的内容总共只有九个,这是固定不变的,不会多于九个,也不会少于九个,内容也是固定好的,不会变化。那么我现在要划一个表,把项目类型的九个种类填入的表中,后面的单项累计是空白的,等待取到相应的值填入。那么我的查询就是要查询出数据表中的记录,项目类型如果相同的,就合计每条的单项累计,填入到表中,如果不相同(等于该名称的项目类型就只有一条,)那合计的话也就是等于这一条记录的单项累计,如果记录中没有这个项目类型,那么表中该字段的相应的值就为0或者为空白也行的。
------
我的编程起步于ktop,我将永远支持ktop |
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi ntjrr, 1.你使用何種資料庫?版本為何? 2.九個項目類型內容是否儲存於另一 Table 中?若有 Table 名稱與欄位為何?若無,如何取得? 3.你指的是無論如何就是 select 出來此九個項目類型與其 Sum(單項累計)? 4.試著從 Outter Join 去著手
------
Fishman |
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi ntjrr,
select i.item, iif(isnull(sum(t.cnt)),0,sum(t.cnt)) as cnt from item i left outer join table1 t on i.item = t.item group by i.itemitem : 項目類型 Table table1 : Your Table tb_sf
------
Fishman |
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi ntjrr , 以下連結範例供你參考看看是否有合用之處: http://delphi.ktop.com.tw/loadfile.php?TOPICID=23172968&CC=518252
------
Fishman |
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |