2017-02-10 52 views
-2

我正在使用mysql作为数据库的休假跟踪器。给定范围之间的所有日期

我有两列和迄今。我不希望任何人对已经申请的日期申请许可。如何编写查询。

enter image description here

这是我写的查询,但它不会产生所需的输出:

SELECT * 
FROM `taken_leave_tracker` 
WHERE emp_id = '135835' 
    and (taken_to_date <= '2017-02-02') 
    and (taken_from_date >= '2017-02-01') 

请帮忙写查询。

+0

根据图像表有列applied_from_date和applied_to_date,但你的查询包括列taken_to_date和taken_from_date。 – jarlh

+0

其实有两种应用和采取的叶子。我误解了申请假表的截图。虽然我所问的问题可以在任一桌上得到解答。 –

回答

0

比方说,你的变量称为date,你需要执行下面的查询

SELECT count(*) 
FROM `taken_leave_tracker` 
WHERE emp_id = '135835' AND date >= applied_from_date AND date <= applied_to_date; 

基于计数值,你可以写的逻辑。

0

你,而应该比较的范围内对单个列

WHERE emp_id = '135835' 
    and (taken_from_date >= '2017-02-01' and taken_from_date <= '2017-02-02') 
相关问题