如何在 CRYSTAL 报表上应用具有一系列日期的 SQL 查询
本文关键字:一系列 日期 查询 SQL 应用 CRYSTAL 报表 | 更新日期: 2023-09-27 18:30:48
我必须检索在两个日期范围内有多少员工参加工作。我设法得到了这样的查询
除息日期范围 : 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
但是我如何使用它才能在水晶报告(在 C# 上)上显示它?我的意思是,我希望用户能够更改程序内的日期范围。
我通常使用select expert
功能来做这样的事情,但据我所知,我认为这不起作用......谁能帮我?提前致谢:)
您可以将计数卸载到 CR...
- 将"tbl出席率"表格添加到报表中
- 在报表中创建两个参数 {?开始日期} 和 {?结束日期},将包含您的日期。
- 在选择公式中,添加如下所示的行
{tblAttendance.AttendanceDate} in {?StartDate} to {?EndDate}
。此时,您拥有所需的所有数据,只需显示和汇总即可。 - 按 {tblAttendance.EmployeeID} 分组,并将
distinctcount({tblAttendance.AttendanceDate},{tblAttendance.EmployeeID})
摘要放在 GroupHeader 或 GroupFooter 中。这只是意味着对按员工分组的出勤日期进行 distinctcount()。 - 在报表上显示摘要、员工姓名和员工 ID。