在上表中,我需要sql查询,通过它我可以从leave_log表中返回Leave_from和Leave_to之间的日期(例如,Leave_from 2018/07/30,Leave_to 02-08-2018),我需要像
30/07/2018
01/08/2018
02/08/2018
我将通过它尝试下一个查询
2)在任何查询或函数中,将在插入leave_log表之前检查员工在特定日期(01-08-2018)申请的假期是否未超出每个团队10%的配额
预先感谢
答案 0 :(得分:0)
首先,如果应该,您应该有一个calender
表,然后您需要将JOIN
的实际表添加到calender
表中。您可以通过其他方式使用递归CTE
选项:
with t as (
select id, leave_frm, leave_to
from table
union all
select id, dateadd(day, 1, leave_frm), leave_to
from t
where leave_frm < leave_to
)
select *
from t
option (maxrecursion 0);