【发布时间】:2018-04-16 00:12:26
【问题描述】:
我正在尝试运行查询以提取员工每月请病假的天数。我的查询的问题是它没有考虑任何重叠的日子。例如,病假可能是从 3 月 29 日到 4 月 3 日。因此,在我下面的查询中,这个假期将不会被捕获,因为它查看的是三月之前的结束日期(以获取三月的所有天数)。
我如何能够捕捉重叠的日子,例如它应该只显示 3 月 29 日、3 月 30 日、3 月 31 日,所以 3 月需要 3 天。
Select DISTINCT l.emp_number, l.leave_start, l.leave_end, l.leave_type,
l.lve_days, e.division, e.location
FROM Leave as l Left Join Employees as E on l.emp_number = e.emp_number
COLLATE SQL_Latin1_General_CP1_CI_AS
WHERE l.leave_start > = '2018-03-01' AND l.leave_end < '2018-04-01'
谢谢
【问题讨论】:
-
不确定我理解您所说的“重叠”是什么意思 - 如果您按月查询,您不能每个月运行此查询,然后跨月进行一些累积吗?
标签: sql sql-server