我必须检索一个员工在两个日期之间工作的人数。 我设法得到了这样的查询
日期范围:2012-02-03
至2012-03-03
SELECT A.EmployeeD, A.EmployeeName, ISNULL(SUM(CASE WHEN a.AttendanceDate BETWEEN '2012-02-03' AND '2012-03-03' THEN 1 ELSE 0 END), 0) AS AttendCount
FROM (SELECT EmployeeID, EmployeeName, AttendanceDate
FROM dbo.tblAttendance
GROUP BY EMPLOYEEID, EmployeeName, AttendanceDate
) AS A
GROUP BY EMPLOYEEID, EmployeeName
但我如何使用它,以便我可以在Crystal Report上显示它(在C#上)? 我的意思是,我希望用户能够更改程序内的日期范围。
我通常会使用select expert
功能,但我不认为这会对此有用,据我所知...
谁能帮我?提前谢谢:)
答案 0 :(得分:1)
您可以将计数卸载到CR ...
{tblAttendance.AttendanceDate} in {?StartDate} to {?EndDate}
。此时,您拥有所需的所有数据,只需显示和汇总即可。distinctcount({tblAttendance.AttendanceDate},{tblAttendance.EmployeeID})
的摘要。这只是意味着按员工分组的出勤日期()。(/ li>)