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

請問流水資料如何一列顯示??

尚未結案
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-09 20:29:44 IP:218.189.xxx.xxx 未訂閱
一個表T1的就只有兩個欄位,就是打卡的流水記錄
CardID(varchar(10))  DT(datetime)
1234567890           2004/06/01  08:00:00
1234567890           2004/06/01  12:05:00
1234567890           2004/06/01  14:02:00
1234567890           2004/06/01  18:02:00
1234567890           2004/06/02  07:50:00
1234567890           2004/06/02  18:02:00
。。。。。。。。。。。。。。
現在需要進行月報表的列印,我需要顯示的報表格式是這樣的:
CardID       1             2        3        4  ........31(一整個月)
             08:00:00    07:50:00
1234567890   12:05:00    18:02:00
             14:02:00 
             18:02:00
....................
也就是一天的記錄希望顯示在一個格子中,用FastReport應該如何實現呢?
希望能夠給出具體SQL,謝謝!  
發表人 - vagrant 於 2004/06/09 20:32:54
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-10 08:54:10 IP:218.189.xxx.xxx 未訂閱
我原來的思路: 臨時表我用存儲過程加游標但一個月資料有20萬, 也就是要游20萬條記錄呀 插入到臨時表中居然要10分鐘 我想這個誰都無法忍受的 我想我的方法是有問題的!
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-10 09:18:49 IP:61.220.xxx.xxx 未訂閱
vagrant : 請你將此問題到報表討論區發表 謝謝你的合作 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
timhuang
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-10 10:16:50 IP:203.95.xxx.xxx 未訂閱
Hi, 或許你應該換個方式來做, 在 query 時, 產生的是縱向的表, 再以程式顯示為 轉置的表, 這樣會比較理想, 縱向的表 sql 就容易得多, 而且效能也很好, 如,    
SELECT CardID, DAY(DT) AS MDay, CONVERT(VARCHAR, DT, 108) AS DTime from T1  
  WHERE DT >= '2004/6/1' AND DT <= '2004/7/1'
  GROUP BY CardID, DAY(DT)
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-10 10:18:02 IP:218.189.xxx.xxx 未訂閱
引言: vagrant : 請你將此問題到報表討論區發表 謝謝你的合作
謝謝你的提醒,但我想這個問題主要是有關資料庫的亞 說白了,就是如何快速建立一個臨時表的問題亞 發表人 - vagrant 於 2004/06/10 10:21:43
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-10 13:34:19 IP:218.189.xxx.xxx 未訂閱
能不能給出進一步的SQL代碼呢?謝謝!
引言: Hi, 或許你應該換個方式來做, 在 query 時, 產生的是縱向的表, 再以程式顯示為轉置的表, 這樣會比較理想, 縱向的表 sql 就容易得多, 而且效能也很好, 如,
SELECT CardID, DAY(DT) AS MDay, CONVERT(VARCHAR, DT, 108) AS DTime from T1  
  WHERE DT >= '2004/6/1' AND DT <= '2004/7/1'
  GROUP BY CardID, DAY(DT)
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-11 11:06:51 IP:218.189.xxx.xxx 未訂閱
各位大大幫幫我呀,我快被這個問題搞崩潰了。。。。。
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-11 11:31:42 IP:192.168.xxx.xxx 未訂閱
我想這樣的報表可能無法由一個SQL指令完成 可以考慮用動態Array 先將資料放在記憶體中 在用QuickReport的OnNeedData來取得資料 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-11 13:36:34 IP:218.189.xxx.xxx 未訂閱
用交叉報表可以搞定了。。。。。。。
系統時間:2024-09-09 10:47:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!