資料庫規劃(出缺勤&薪資管理) |
尚未結案
|
sword185
一般會員 ![]() ![]() 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
請問各為先進,小弟因為學校專題的緣故
想製作一個"出缺勤&薪資管理"系統用"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 發送簡訊給我 |
|
sword185
一般會員 ![]() ![]() 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
thomas0728
中階會員 ![]() ![]() ![]() 發表:112 回覆:260 積分:89 註冊:2002-03-12 發送簡訊給我 |
|
sword185
一般會員 ![]() ![]() 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 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 發送簡訊給我 |
不好意思想請問
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 發送簡訊給我 |
您好﹗ 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 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 如您所述﹐WPLData資料表中的員工編號有重复出現的話﹐就需要做Group By 員工編號 的SQl語法﹐將每筆相同員工編號的資料規類﹒ 利用SQL語法直接覆蓋原有的資料錄﹐可能沒有辦法達到﹐您可利用程式碼通過對Salary資料表的查詢員工編號鍵值欄位來判斷目前Salary資料表中是否已存在需要加入的資料錄﹐如果不存在的話﹐就使用Insert Into 資料表名 Select ... From的語法來新增到Salary資料表中﹐如果存在的話﹐就用Update Salary Set 欄位=...的話法來做更新的動作﹒ 如果需要詳細的SQL語法做參考﹐請您詳細描述一下各個欄位值之間的關系﹐即照何原則來做計算﹒
------
忻晟 |
sword185
一般會員 ![]() ![]() 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |