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

是你,會怎麼做?動動惱不要生锈了^^

尚未結案
changchuan
一般會員


發表:7
回覆:12
積分:3
註冊:2003-10-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-07 16:58:59 IP:163.29.xxx.xxx 未訂閱
這是我之前遇到的問題,大家幫忙動動惱,報表印法不必詳述,只要 知道數據的計算過程..(約五百個格子,每格都要數據總合,不要單 算一個的算式,要能跑全部的...)CODE寫錯可以改,想法最重要^^ 欄位,資料: 姓名(CNAME) 日期(CDATE) 項目(CSTR) 時數(CTIME) ------------------------------------------------------------- 林中新 92/09/01 加班 4 林中新 92/09/02 加班 6 張中玉 92/09/04 出差 12 ...約50人每日都可能有資料 ...約10項 .... -------------------------------------------------------------- 要求報表:求某日期~~某日期 所有職員所有勤隋總和?? XX年XX月XX日~XX年XX月XX日 加班 出差 病假 事假 隋勤 打混 摸魚 育嬰... --------------------------------------------------------------- 職員1 ? ? ? ? ? ? ? ? .... 職員2 ? ? ? ? ? ? ? ? .... 職員3 職員4 --------------------------------------------------------------- ~*呂政全*~
------
~*呂政全*~
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-09 15:27:48 IP:211.20.xxx.xxx 未訂閱
不知你用的是那一種資料庫 我記得 SQL Server 有一種寫法可以做到 忘了叫 "交叉xxx"什麼的連結法可以用一個SQL做出來 但我公司用的是Oracle,我記得好像沒有這種寫法 不知舊的 AnsiSQL 有沒有這種寫法 印象中好像是沒有,新的 Ansi SQL 好像有的樣子    我也想學,希望有高手可以分享~~
timhuang
尊榮會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-11 00:01:28 IP:61.62.xxx.xxx 未訂閱
Hi, 可以使用 sum 的方式, 將資料表轉置的方法:    
select CNAME, 
  sum(when CSTR='加班' then CTIME else 0 end) as '加班',
  sum(when CSTR='出差' then CTIME else 0 end) as '出差',
  sum(when CSTR='病假' then CTIME else 0 end) as '病假',
  sum(when CSTR='事假' then CTIME else 0 end) as '事假',
  ...
from table
  where CDATE between '2003/9/10' and '2003/10/10'
  group by CNAME
參考看看!
系統時間:2024-05-05 8:36:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!