線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2173
推到 Plurk!
推到 Facebook!

資料庫規劃(出缺勤&薪資管理)

尚未結案
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-16 14:47:37 IP:61.64.xxx.xxx 未訂閱
請問各為先進,小弟因為學校專題的緣故 想製作一個"出缺勤&薪資管理"系統用"MDB格式" 其資料表內容如下: 資料表名稱:Salary NO Field Name Field ID Type Length Description 1 員工編號 WP_ID Varchar 8 2 姓名 WP_NA Varchar 20 3 所屬分店編號 BS_ID Varchar 12 4 所屬部門編號 DD_ID Varchar 12 5 任用級數 WS_WN Varchar 10 6 基本薪資 WS_OS Varchar 6 7 全勤獎金 WS_NL Varchar 6 8 交通津貼 WS_TM Varchar 6 9 伙食費 WS_FM Varchar 6 10 職務加給 WS_PA Varchar 6 11 工作津貼 WS_WS Varchar 6 12 特休天數 WS_SR Varchar 3 12 備註 WS_RMK Varchar 100 13 更新資料時間 WS_EDATE Varchar 19 YYYY/MM/DD HH:MM:DD 資料表名稱:WPLData NO Field Name Field ID Type Length Description 1 員工編號 WP_ID Varchar 8 2 姓名 WP_NA Varchar 20 3 假別 WL_HD Varchar 1 4 事由 WL_MC Varchar 20 5 請假日期 WL_MD Varchar 19 YYYY/MM/DD 6 請假時數 WL_MM Varchar 2 7 遲到時間 WL_AT Varchar 5 8 加班時數 WL_OT Varchar 5 9 曠職時數 Wl_WT Varchar 5 10 備註 WL_RMK Varchar 100 11 更新資料時間 WL_EDATE Varchar 19 YYYY/MM/DD HH:MM:DD 問題來了"資料表:Salary"每一個員工只有一筆設定檔,"資料表:WPLData"每一個員工,每當請假時就有一筆資料.. 問題:若是要計算每月的薪資或年度的資料,這樣的規劃是否可行? 若是可以的話,我不會將每個欄位做加總的動作與資料表回圈的計算 (因為有很多員工,不可能一個員工一個員工慢慢的計算)........想問其SQL的語法為何?程式流程為何? 還有將計算好的資料新增成月份的資料表 發表人 - sword185 於 2003/12/16 14:49:26 發表人 - sword185 於 2003/12/16 14:55:14
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-16 15:02:14 IP:63.84.xxx.xxx 未訂閱
您好﹗    前些天剛剛完成了類似的專案 如您所述的使用ID = '1001'>===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-16 15:12:03 IP:61.64.xxx.xxx 未訂閱
那是否可以自動計算全部員工的薪資資料
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-16 17:52:53 IP:63.84.xxx.xxx 未訂閱
您好﹗    當然可以啦 例﹕ ><>===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
thomas0728
中階會員


發表:112
回覆:260
積分:89
註冊:2002-03-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-16 19:12:03 IP:61.219.xxx.xxx 未訂閱
試試這個吧 Select WP_ID, Sum(WL_MM), Sum(WL_OT) From WPLData WHERE WL_MD>=:PARAM1 AND WL_MD<=PARAM1 GROUP BY WP_ID Thomas Chiou
------
Thomas Chiou
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-17 00:12:19 IP:61.64.xxx.xxx 未訂閱
在Salary資料表的基本薪資的總數已經算出來了 1.問題是在於WPLData資料表裡,若員工每次請假就會有一筆資料,而且不同員工請假就會有不同資料,請假的"假別"又會有所不同,想在WPLData資料表裡分別算出每個假別的總數, 2.再併到整月薪資理,基本薪資-假別的總數=實際的薪資,而且是每一個人的薪資都要算出 P.S...我快投降了.... 發表人 - sword185 於 2003/12/17 00:14:06
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-12-17 09:17:07 IP:63.84.xxx.xxx 未訂閱
您好﹗    1.問題是在於WPLData資料表裡,若員工每次請假就會有一筆資料,而且不同員工請假就會有不同資料,請假的"假別"又會有所不同,想在WPLData資料表裡分別算出每個假別的總數 //Select WP_ID, Sum(WL_HD) From WPLDate Group By WP_ID 2.再併到整月薪資理,基本薪資-假別的總數=實際的薪資,而且是每一個人的薪資都要算出 //Update Salary a, (Select WP_ID, Sum(WL_HD) as Sum_WL_HD From WPLDate Group By WP_ID) b Set a.實際的薪資欄位 = a.WS_OS - b.Sum_WL_HD Where a.WP_ID = b.WP_ID 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-12-17 14:58:32 IP:61.64.xxx.xxx 未訂閱
不好意思想請問 1.問題是在於WPLData資料表裡,若員工每次請假就會有一筆資料,而且不同員工請假就會有不同資料,請假的"假別"又會有所不同,想在WPLData資料表裡分別算出每個假別的總數 //Select WP_ID, Sum(WL_HD) From WPLDate Group By WP_ID 若是再加上日期的條件"請假日期 "那SQL語法要再加哪邊    2.再併到整月薪資理,基本薪資-假別的總數=實際的薪資,而且是每一個人的薪資都要算出 //Update Salary a, (Select WP_ID, Sum(WL_HD) as Sum_WL_HD From WPLDate Group By WP_ID) b Set a.實際的薪資欄位 = a.WS_OS - b.Sum_WL_HD Where a.WP_ID = b.WP_ID 想將結果into 到新的資料表,而且是每一位員工只有以筆月份資料...SQL要如何下    抱歉....麻煩您這麼多 發表人 -
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-12-17 17:32:43 IP:63.84.xxx.xxx 未訂閱
您好﹗    1.問題是在於WPLData資料表裡,若員工每次請假就會有一筆資料,而且不同員工請假就會有不同資料,請假的"假別"又會有所不同,想在WPLData資料表裡分別算出每個假別的總數 //Select WP_ID, Sum(WL_HD) From WPLDate Group By WP_ID 若是再加上日期的條件"請假日期 "那SQL語法要再加哪邊 //加在From WPLDate之后﹐Group By WP_ID之前 2.再併到整月薪資理,基本薪資-假別的總數=實際的薪資,而且是每一個人的薪資都要算出 //Update Salary a, (Select WP_ID, Sum(WL_HD) as Sum_WL_HD From WPLDate Group By WP_ID) b Set a.實際的薪資欄位 = a.WS_OS - b.Sum_WL_HD Where a.WP_ID = b.WP_ID 想將結果into 到新的資料表,而且是每一位員工只有以筆月份資料...SQL要如何下 //做完之前的Update后﹐使用如下語法即可新增一個資料表﹕ Select Into 新資料表 Select * From Salary 只有一筆月份資料是什么意思﹖ 參考看看﹗ <><>===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-12-18 13:39:00 IP:61.64.xxx.xxx 未訂閱
就是每個員工,每個月只有一筆資料,若是之前已經有Into了,則無條件覆蓋
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-12-18 14:21:25 IP:63.84.xxx.xxx 未訂閱
您好﹗    如您所述﹐WPLData資料表中的員工編號有重复出現的話﹐就需要做Group By 員工編號 的SQl語法﹐將每筆相同員工編號的資料規類﹒    利用SQL語法直接覆蓋原有的資料錄﹐可能沒有辦法達到﹐您可利用程式碼通過對Salary資料表的查詢員工編號鍵值欄位來判斷目前Salary資料表中是否已存在需要加入的資料錄﹐如果不存在的話﹐就使用Insert Into 資料表名 Select ... From的語法來新增到Salary資料表中﹐如果存在的話﹐就用Update Salary Set 欄位=...的話法來做更新的動作﹒    如果需要詳細的SQL語法做參考﹐請您詳細描述一下各個欄位值之間的關系﹐即照何原則來做計算﹒ 參考看看﹗ <><>===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
sword185
一般會員


發表:36
回覆:81
積分:23
註冊:2002-06-05

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-12-19 15:23:17 IP:61.64.xxx.xxx 未訂閱
謝謝啦
系統時間:2024-06-28 19:05:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!