php - MySql - 获取满足条件的下一个日期

标签 php mysql sql

我有一个名为“helper_leaves”的 mysql 表,用户在其中输入了接下来 2 个月的休假日期。

我想获取特定 user_id2 个即将到来的工作日期,这在“helper_leaves”中>' 表,并且还应该在当前日期旁边。

**id | user_id | leave_date** 

 1   |   1     | 2016-07-07 
 2   |   1     | 2016-07-09 
 3   |   1     | 2016-07-15 
 4   |   1     | 2016-08-03

我想编写一个查询以获取 user_id = 1 的下 2 个工作日期,从现在开始。 请注意,此表只有休假日期。但我想获得接下来的 2 个可用性日期

对于给定的示例数据,我希望将 2016-07-142016-07-16 作为接下来的 2 个工作日期,因为今天是 2016-07-13

注意:所有不在此表中的日期均视为工作日期。

请帮忙!!!!

最佳答案

你能试试下面的查询吗? 在那里,我刚刚生成了接下来的 60 个日期,并从中排除了限制为 2 的 leave_date。

SELECT CURDATE() + INTERVAL a + b DAY dte
FROM
 (SELECT 0 a UNION SELECT 1 a UNION SELECT 2 UNION SELECT 3
    UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7
    UNION SELECT 8 UNION SELECT 9 ) d,
 (SELECT 0 b UNION SELECT 10 UNION SELECT 20 
    UNION SELECT 30 UNION SELECT 40) m
WHERE CURDATE() + INTERVAL a + b DAY  <  DATE_ADD(CURDATE(),INTERVAL 60 DAY) and dte not in ( select leave_date from helper_leaves where user_id = 1)
ORDER BY a + b limit  2

关于php - MySql - 获取满足条件的下一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38352752/

相关文章:

php - 如何从字符串中删除所有数字?

php - Laravel - 重定向到页面并滚动到页面底部

sql - 在 SQL Server 中使用 JOIN 排除记录

php - 在 yii2 中使用 ajax 填充或填充所有字段

php - PHP 中的变量与 SQL 链接

C# 数据处理设计模式 : Objects stored in DB via ORM, 直接与数据库一起工作?

c# - MySQL c# Winform - 从转储文件创建新数据库(本地主机)

sql - 每个 SELECT 语句都需要 FROM 子句

sql - 在其他谓词(Oracle 分析函数)之前评估分析函数上的 WHERE 谓词

mysql - MYSQL中如何返回多个结果集或字符串数​​组