Sql server 工资计算
我需要你帮助我。我必须在Sql Server 2014中执行一个计算工资管理的程序。程序应该是这样的: 工资是工资总额和带薪假期的总和:Sal=工资总额+带薪假期 对于带薪假期的计算,我们需要: 前6个月的工资: Sal_6+Sal_5+Sal_4+Sal_3+Sal_2+Sal_1=基础 Sal_6=Grossal_6+带薪假期(如上所述) ... 前6个月的工作天数或假日天数: NOdays_6+NOdays_5+NOdays_4+NOdays_3+NOdays_2+NOdays_1=总天数 带薪假期为:带薪假期=基本/累计天数*天数 从数据库中,我有以下表格: 条目(身份、工资总额、工作日、日期、雇员) 雇员(ID雇员、姓名、雇用日期) 假日(IDHoliday、StartDate、FinalDate、IdeEmployee) 该雇员拥有一份资历证书,上面有前雇主最后6份工资 证书(ID证书、日期、工资总额、工作日、带薪假期、工作日、ID员工) 因为我需要最后的带薪假期和工资来形成总工资,我想我应该使用一个临时表。此表将保留证书中的数据和条目中的数据 到目前为止,我尝试了以下存储过程:Sql server 工资计算,sql-server,tsql,Sql Server,Tsql,我需要你帮助我。我必须在Sql Server 2014中执行一个计算工资管理的程序。程序应该是这样的: 工资是工资总额和带薪假期的总和:Sal=工资总额+带薪假期 对于带薪假期的计算,我们需要: 前6个月的工资: Sal_6+Sal_5+Sal_4+Sal_3+Sal_2+Sal_1=基础 Sal_6=Grossal_6+带薪假期(如上所述) ... 前6个月的工作天数或假日天数: NOdays_6+NOdays_5+NOdays_4+NOdays_3+NOdays_2+NOdays_1=总天数
create proc payroll
@idemployee int
as
create table #tmp( id int identity(1,1) primary key, date1 date, grosssalary money, idemployee int, nodaysworked int, paidholiday money, noofdays int)
insert into #tmp ( date1 , grosssalary , idemployee , nodaysworked , paidholiday , noofdays )
Select Top 6 Date,
Gross_Salary,
IDEmployee,
NOdayworked,
Paid_Holiday,
IDEmployee
from Certificate
WHERE IDEmployee = @idemployee
ORDER BY Date asc
在那之后,我每天都要拿最后6份薪水
带薪假期=基本/总天数*天数,但我不知道该怎么办。我想到了光标什么的。
如果你不明白,请告诉我。我的母语不是英语(也不是所有国家都有这个课程)。
该程序在罗马尼亚有效)请提供一些您希望看到的数据和输出结果。Thanksher是一个很好的起点。对于#tmp,我希望得到以下结果:ID/date1/Grossalary/IdeEmployee/nodaysworked/paidholiday/noofdays 1/01/03/2018/3890/01/20/100/2。。。对于可变带薪假期,我希望它遵循以下公式:带薪假期=基本/总天数*天数。表格:证书ID证书、日期、工资总额、工作日、带薪假期、工作日、ID员工2018年1月1日/2000年1月21日/51.20/1/01日0201.02.2018/2000/22/0/0/01。。。对于其余的表,数据是相似的。