视图中要求的字段有EmployeeName(员工姓名),LeaveCount(请假次数),TotalLeaveCount(总请假小时),ALhours(可用小时数).有如下2个表:
EmployeeInfo(员工信息表),LeaveInfo(请假记录表)
EmployeeInfo中的字段有EmployeeID,EmployeeName,ALhours
LeaveInfo中的字段有LeaveID,Hours(此次请假小时数),Auditor(审核人名),EmployeeID例如视图根据审核人的查询结果:
员工姓名 请假次数 总小时数 可用的小时数
陈东 2 54 100
EmployeeInfo(员工信息表),LeaveInfo(请假记录表)
EmployeeInfo中的字段有EmployeeID,EmployeeName,ALhours
LeaveInfo中的字段有LeaveID,Hours(此次请假小时数),Auditor(审核人名),EmployeeID例如视图根据审核人的查询结果:
员工姓名 请假次数 总小时数 可用的小时数
陈东 2 54 100
as
select a.EmployeeName 员工姓名,请假次数,a.ALhours 总小时数,a.ALhours-isnull(b.请假小时数,0) 可用的小时数
from EmployeeInfo a
left join (select EmployeeID,count(1) 请假次数,sum(Hours) 请假小时数 from LeaveInfo group by EmployeeID) b
on a.EmployeeID=b.EmployeeID
go