来自另一个表的列计算

时间:2019-02-10 19:29:34

标签: sql sql-server

我有两个桌子。首先是HumanResources.Employees a,另一个是ProjectDetails.TimeCards b 我希望自动计算ProjectDetailsTimeCards上的TotalCost列,即TotalCost = Billable Hours b * BillingRate a。他们可以与employee_ID一起加入。但是我无法将其转换为表格格式。 下表是

Else

创建视图HumanResources.vwEmployeeData         如         从第一张表中选择SELECT e.EmployeeID,e.Date_Issued,e.Days_Worked,e.Project_ID,e.Billable_Hours,e.Work_Code_ID         从HumanResources.Employees e加入ProjectDetails.TimeCards d         开启e.Employee_ID = d.Employee_ID-我创建的视图

1 个答案:

答案 0 :(得分:1)

您可以通过定义类似

的函数来实现此目的
CREATE FUNCTION GetValue(@billablehours INT, @empid INT)
RETURNS INT
AS 
   SELECT @billablehours * e.Billing_Rate 
   FROM HumanResources.Employees e
   WHERE e.Employee_ID = @empid

之后,您将创建一个计算列

ALTER TABLE ProjectDetails.TimeCards
   ADD Total_Cost AS GetValue(Billable_hours, Employee_ID)