【发布时间】:2011-01-27 16:02:34
【问题描述】:
我正在尝试编写一份用于计算员工出勤率的声明,并执行他们的 id 、 name 以及他过去 3 个月的工作天数,方法是计算 NewTimeAttendance 上的重复 id 一个月1、2 和 3。
我试着数数:
Select COUNT(employeeid)
from NewTimeAttendance
where employeeid=1 and (month=1 or month = 2 or month = 3)
这绝对有效,但仅适用于一名员工。
第二次尝试:
SELECT COUNT(NewEmployee.EmployeeID)
FROM NewEmployee INNER JOIN NewTimeAttendance
ON NewEmployee.EmployeeID = NewTimeAttendance.EmployeeID
and (month=1 or month =2 or month = 3)
这是有效的,但它计算所有员工,我希望它执行每个 EmployeeId、EmployeeName 和 number of days 作为新记录。
最后一次尝试:(在你看到代码之前......这是错误的......但我正在尝试)
for i in 0..27 loop
SELECT COUNT(NewEmployee.EmployeeID),NewEmployee.EmployeeId,EmployeeName
FROM NewEmployee INNER JOIN NewTimeAttendance
ON NewEmployee.EmployeeID(i) = NewTimeAttendance.EmployeeID
and (month=1 or month =2 or month = 3)
end loop
我真的需要帮助...在此先感谢。
【问题讨论】: