全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1399
推到 Plurk!
推到 Facebook!

如何在ADOQuery未open前,得知資料筆數??

答題得分者是:longsanglin
yabula
初階會員


發表:47
回覆:117
積分:42
註冊:2002-10-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-23 12:18:06 IP:61.221.xxx.xxx 未訂閱
如何在ADOQuery未open前,得知資料筆數?? 小弟只有想到利用SQL語法select count(*) from TableA, 但是面對了複雜的Query 如, 1.select distinct a,b,c from TableA 2.或是兩個table以上join出來的query 這樣就無法count出來, 請教各位有何方式ㄋ??
longsanglin
初階會員


發表:10
回覆:57
積分:43
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-23 13:00:50 IP:211.22.xxx.xxx 未訂閱
Try it! select count(*) from (select distinct a,b,c from TableA,....)
yabula
初階會員


發表:47
回覆:117
積分:42
註冊:2002-10-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-23 13:11:07 IP:61.221.xxx.xxx 未訂閱
引言: Try it! select count(*) from (select distinct a,b,c from TableA,....)
不行耶,
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-23 13:20:01 IP:61.218.xxx.xxx 未訂閱
一個笨方法,試試看 select distinct a,b,c into TmpTable from TableA,...... 先把結果塞到一個tmpTable 裡 然後再用你熟悉的方式 select count(*) from tmptable 取得總數 然後 drop table tmptalbe 可能速度上慢了些,但可一試
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-23 13:23:28 IP:61.155.xxx.xxx 未訂閱
请讲清楚,不OPEN哪儿来得COUNT数据。    下面可参考一下: select * from (select distinct a,b,c from TableA,....) query1.RecordCount;    风花雪月 e梦情缘
------
风花雪月 e梦情缘
yabula
初階會員


發表:47
回覆:117
積分:42
註冊:2002-10-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-23 13:24:39 IP:61.221.xxx.xxx 未訂閱
引言: 一個笨方法,試試看 select distinct a,b,c into TmpTable from TableA,...... 先把結果塞到一個tmpTable 裡 然後再用你熟悉的方式 select count(*) from tmptable 取得總數 然後 drop table tmptalbe 可能速度上慢了些,但可一試
謝謝~~但這方法可能會太慢了點
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-23 13:42:50 IP:61.155.xxx.xxx 未訂閱
select  a,b,c,(select count(*) from tablea) as countall from tablea 供参考! 风花雪月 e梦情缘
------
风花雪月 e梦情缘
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-23 14:31:57 IP:211.76.xxx.xxx 未訂閱
引言:
引言: select count(*) from (select distinct a,b,c from TableA,....)
不行耶,
longsanglin 兄的方式是可行的. 在資料庫有支援 subquery 時. 記得要給定這個 subquery 的 alias name (隨意取名). 如 select count(*) from (select a.sid, b.name from tableA a, tableB b where ....) AS myQuery
yabula
初階會員


發表:47
回覆:117
積分:42
註冊:2002-10-02

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-23 14:56:08 IP:61.221.xxx.xxx 未訂閱
感謝timhuang,longsanglin兩位前輩,這個方式可以解決這兩個問題了, 不過還是給longsanglin好了,只怪小弟沒try 出來.
bundur
一般會員


發表:16
回覆:44
積分:22
註冊:2002-11-30

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-23 20:54:13 IP:218.66.xxx.xxx 未訂閱
try this select count(A.*) from (select distinct a,b,c from TableA,....) A 只要你后面的select语句是对的,就可以 注:只能在MS SQLSERVER或SYBASE等大型数据库上用, 桌面型的不行!
系統時間:2024-06-27 0:57:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!