FIFO-代替假与替代假有效性检查

时间:2019-07-20 02:44:52

标签: sql sql-server

这是关于在某人上工作时的休假(替代)假 假期有权1天或0.5天。

假期工作的有效性可以在3个月内提出要求 仅从工作日期开始。

假设某人A在度假工作如下:

  • 2018-01-27-1天(必须清除2018年1月27日至2018年4月27日之间的假期,否则将被销毁)
  • 2018-01-28-1天(必须清除2018年1月28日至2018年4月28日之间的假期,否则将被烧毁)
  • 2018-02-03-1天(必须在2018-02-03至2018-05-03之间清除请假,否则就被烧毁了)

人人替补休假:

  • 2018-02-21-1天
  • 2018-02-27-0.5天
  • 2018-03-13-1天

手段:

  • 2018年2月21日为1天,将从2018年1月27日起取消结算=> 0余额
  • 2018年2月27日取0.5天,将从2018年1月28日起抵消=> 0.5余额
  • 2018-03-13取1天,将从2018-01-28起0.5天=> 0余额;
  • 剩余时间为2018-03-13 0.5天,将于2018-02-03 0.5天=> 0.5余额

输出应为

 Work Date  | Taken Date | Credit | Balance
 2018-01-27 | 2018-02-21 | 1      | 0
 2018-01-28 | 2018-02-27 | 0.5    | 0
 2018-01-28 | 2018-03-13 | 0.5    | 0
 2018-02-03 | 2018-03-13 | 0.5    | 0.5

除使用while ... loop方法外,如何创建查询?如果我有 大量数据,而..循环会导致性能问题。

请告知。

关于, 米歇尔

0 个答案:

没有答案