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

尋找資料

尚未結案
hc
一般會員


發表:9
回覆:5
積分:2
註冊:2005-10-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-19 13:55:41 IP:59.116.xxx.xxx 未訂閱
資料庫是用access 裡面有2個以上的資料表 假設其中之一的資料表有 日期,溫度(AM),溫度(PM) 等等的欄位 例如 日期 溫度(AM) 溫度(AM) --------------------------------------------------------- 2005/10/1 33.5 34.5 2005/10/2 32.6 34.2 2005/10/3 34.1 35.2 2005/10/4 33.8 34.1 接著在delphi 放入2個TDateTimePicker元件,1個查詢按鈕TBitBtn....那要寫個尋找功能,譬如時間從2005/10/1 ~ 2005/10/4 找出溫度最大值 35.2 請教各位大大怎麼做呢?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-19 17:14:26 IP:210.65.xxx.xxx 未訂閱
Hi hc,    
SQL Command :    select  min(Temperature) as minTemperature,
        max(Temperature) as maxTemperature
from   (select  dt,
        AMTemperature as Temperature
        from    table2
        union all
        select  dt,
                PMTemperature as Temperature
        from    table2)
where   dt between :p_date1 and :p_date2    BitBtn1.OnClick :
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ADOQuery3.close;
  ADOQuery3.Parameters.ParamByName('p_date1').Value := Trunc(DateTimePicker1.Date);
  ADOQuery3.Parameters.ParamByName('p_date2').Value := Trunc(DateTimePicker2.Date)   0.99999;
  ADOQuery3.Open;
end;
發表人 -
------
Fishman
hc
一般會員


發表:9
回覆:5
積分:2
註冊:2005-10-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-20 08:27:43 IP:61.223.xxx.xxx 未訂閱
thanks..try it
hc
一般會員


發表:9
回覆:5
積分:2
註冊:2005-10-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-20 10:41:52 IP:61.223.xxx.xxx 未訂閱
Fishman..    我試了.但..    另外我只想找到最大值..並且列出整列的資料..像2005/10/3  34.1 35.2 .... 再請問SQL指令我放在formcreate 可以嗎? 而 union all <---是什麼意思呢 最後有一個地方 0.99999 可以說明一下意義嗎 煩請指教了
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-20 12:28:02 IP:210.65.xxx.xxx 未訂閱
Hi hc,
1.
select  top 1   
        t2.*
from   (select  id,
                dt,
                AMTemperature as Temperature
        from    table2
        union all
        select  id,
                dt,
                PMTemperature as Temperature
        from    table2) t1,
        table2          t2
where   t2.id = t1.id
and     t1.dt between :p_date1 and :p_date2
order by
        t1.Temperature desc    id is then UniqueKey for table table2    2.
可啊,但是若 QUERY 要花較多時間,或必須重新 QUERY 則不太適合    3.聯集,詳見以下說明:
http://delphi.ktop.com.tw/topic.php?topic_id=46127    4.
Trunc(2005/01/01 12:30:00) = 2005/01/01 00:00:00
2005/01/01 00:00:00   0.99999 = 2005/01/01 23:59:59
因此若是日期時間欄位,可以如此寫
That's all folks !! Have fun !! ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
hc
一般會員


發表:9
回覆:5
積分:2
註冊:2005-10-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-21 14:29:33 IP:59.116.xxx.xxx 未訂閱
Fishman..   我所有資料都在同一table  不會做到2各table以上的查詢   然後希望輸入開始結束時間 找出這段時間內某日溫度的最大值(不管AM或PM)   日期方面我只像2005/10/1  不會有分秒....   另外sql的子查詢可以在最外層的from嗎?   我覺得應該比較像 select                    from                    where  ( select                             from                             where       )   不曉得到底是不是我想的...   最後我希望找出來的結果是table裡2各時間區間內的整筆資訊..   請多指導了   
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-24 08:50:07 IP:210.65.xxx.xxx 未訂閱
Hi hc,    請注意該段 SQL Command,其實都有同一個 Table!     ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-06-28 13:32:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!