【问题标题】:i want to check already applied leave dates我想检查已经申请的休假日期
【发布时间】:2014-03-11 15:55:15
【问题描述】:

我的表结构如下:

empid      leavefrom        leaveto  
  1        11/3/2014        12/3/2014
  1        25/3/2014        26/3/2014   
  1        27/3/2014        28/3/2014
  1        19/3/2014        21/3/2014

所有日期都是员工已经休假或申请休假的休假日期。 我现在的查询是,如果员工再次申请休假,例如 20/3/2014-20/3/2014,那么我想生成错误 因为 20/3/2014 已经在上表的最后一条记录中有表。

我想要 linq 查询来解决这个问题。请大家帮帮我。

提前谢谢你。

【问题讨论】:

  • 任何带有startDate <= existing endate AND endate > existing startdate 的新休假都与现有休假重叠。
  • 非常感谢您的友好建议

标签: mysql linq


【解决方案1】:

步骤1:首先你需要将用户的值存储在临时变量中,例如a中的leavefrom值和b中的leaveto值。

第二步:现在通过以下查询检查有效性:

SELECT COUNT(empid) FROM employee WHERE ($a>=leavefrom AND $a<=leaveto) OR ($b=leavefrom AND $b<=leaveto) and empid=1;

第三步:如果你得到的值 >0 意味着请求的休假无效,否则它是有效的。如果有效,那么您可以在表中插入其他向用户抛出消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-23
    • 2020-06-21
    • 1970-01-01
    • 2018-03-24
    • 2014-05-18
    • 2019-09-10
    • 1970-01-01
    • 2019-02-25
    相关资源
    最近更新 更多