我试图写一个声明中用于计算员工考勤和执行他们的id
,name
与天,他通过计算重复工作的前3个月id
就NewTimeAttendance
为每月1,2和3.
我试过数:
Select COUNT(employeeid)
from NewTimeAttendance
where employeeid=1 and (month=1 or month = 2 or month = 3)
Run Code Online (Sandbox Code Playgroud)
这绝对有效,但仅适用于一名员工.
第二次尝试:
SELECT COUNT(NewEmployee.EmployeeID)
FROM NewEmployee INNER JOIN NewTimeAttendance
ON NewEmployee.EmployeeID = NewTimeAttendance.EmployeeID
and (month=1 or month =2 or month = 3)
Run Code Online (Sandbox Code Playgroud)
这是有效的,但它会计算所有员工,我希望它能够执行每个员工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
Run Code Online (Sandbox Code Playgroud)
我真的需要帮助......提前谢谢.
你需要一个GROUP BY
功能,试试:
SELECT COUNT(NewEmployee.EmployeeID), NewEmployee.EmployeeId,EmployeeName
FROM NewEmployee INNER JOIN NewTimeAttendance
ON NewEmployee.EmployeeID = NewTimeAttendance.EmployeeID
and (month=1 or month =2 or month = 3)
GROUP BY NewEmployee.EmployeeID, EmployeeName
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1268 次 |
最近记录: |