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

統計報表 sql語法一問

尚未結案
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-27 17:56:47 IP:210.192.xxx.xxx 未訂閱
我想請教各位一個統計報表的問題 是這樣的 報表每筆必須按日統計一托拉庫的SQL查詢 (跨了很多TABLE) 我打算在Detail Band 的BeforeGenerate 做這件事情 but 我如何先下一個 sql語法讓他呈現日期順序 ex:使用者下區間 2003/10/01---2003/10/31 我必須有31筆 這些天數的然後才能按日期 在Detail Band 的BeforeGenerate做統計 但是這31天的資料 我並沒有一個實際table 可供我select 而那一托拉庫的統計又只能by天來統計 無法用日期區間select出來 再group by日期 ( 因為在這個區間裡面 可能有些日期並沒資料 無法美伊天的呈現 ) 目前我只寫好這一托拉庫的sql語法 但日期順序我不曉得如何select出來 BCDEFHIJKLMNOPQRSTUVWXZ
------
BCDEFHIJKLMNOPQRSTUVWXZ
azurecloud
中階會員


發表:52
回覆:108
積分:92
註冊:2003-09-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-27 21:46:45 IP:163.13.xxx.xxx 未訂閱
Hi, isthatu 您好:     雖然無法全部了解您的問題,但以下有一個 SQL 語法提供您參考, 這是可根據使用者輸入的日期區間產生一暫時資料表,應該就能滿足您 "但是這31天的資料 我並沒有一個實際table 可供我select" 的這個條件    Create Table newdate(            testdate datetime              )   declare @i int  select @i =  DATEDIFF ( day , '2003/10/01' ,'2003/11/30' )     declare @date  smalldatetime select @date  = '10/01/2003' while @i >= 0 begin     insert into  dbo.newdate values (@date)     select @date = DATEADD ( day ,1, @date )      select @i = @i - 1 end    select * from newdate delete from newdate drop table newdate    以上語法可直接貼在 MS SQL Server 的 Query Analyzer 中執行,產生的 資料表如下圖 也可跨月份,希望對你有幫助 我要努力向上~~
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-28 09:26:12 IP:210.192.xxx.xxx 未訂閱
引言: Hi, isthatu 您好: 雖然無法全部了解您的問題,但以下有一個 SQL 語法提供您參考, 這是可根據使用者輸入的日期區間產生一暫時資料表,應該就能滿足您 "但是這31天的資料 我並沒有一個實際table 可供我select" 的這個條件 Create Table newdate( testdate datetime ) declare @i int select @i = DATEDIFF ( day , '2003/10/01' ,'2003/11/30' ) declare @date smalldatetime select @date = '10/01/2003' while @i >= 0 begin insert into dbo.newdate values (@date) select @date = DATEADD ( day ,1, @date ) select @i = @i - 1 end select * from newdate delete from newdate drop table newdate 以上語法可直接貼在 MS SQL Server 的 Query Analyzer 中執行,產生的 資料表如下圖 也可跨月份,希望對你有幫助 我要努力向上~~
請問上列與法可以在程式設計時期加入程式內嗎?
------
BCDEFHIJKLMNOPQRSTUVWXZ
foxelf
初階會員


發表:9
回覆:42
積分:30
註冊:2003-03-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-28 09:45:12 IP:61.222.xxx.xxx 未訂閱
有試過建立個VIEW再SELECT那個VIEW的方法ㄇ
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-28 09:45:13 IP:211.21.xxx.xxx 未訂閱
引言: Hi, isthatu 您好: 雖然無法全部了解您的問題,但以下有一個 SQL 語法提供您參考, 這是可根據使用者輸入的日期區間產生一暫時資料表,應該就能滿足您
抱歉 剛引言太長了 謝謝 在這正是我要的 如此一來我的問題就解決了
------
BCDEFHIJKLMNOPQRSTUVWXZ
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-28 13:24:28 IP:211.21.xxx.xxx 未訂閱
引言: 有試過建立個VIEW再SELECT那個VIEW的方法ㄇ
可在程式SQL裡直接下那段程式 不過在這之前先 看看資料庫有沒那TABLE存在 select name from sysobjects where name='XXX' (sql server 2000) 有的的話 先drop table xxx 再下那一段程式... BCDEFHIJKLMNOPQRSTUVWXZ
------
BCDEFHIJKLMNOPQRSTUVWXZ
系統時間:2024-06-28 13:41:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!