我正在尝试查询以了解员工哪些日子没有工作。
例如:
如果我检索 21/07 和 25/07 之间的所有日期,该员工的工作情况我将会有类似的内容:
21/07/2016
22/07/2016
23/07/2016
25/07/2016
但是我想要他没有工作的日子。在这种情况下,它 24/07 。
我正在寻找解决方案,我的想法是检索日期间隔的子查询,但是在上面的查询中执行不包含的行。
示例:
SELECT MyDate
FROM MyTable
WHERE MyDate between 21-07 and 25-05
and MyDate not in
**(the subquery here)**
任何人都可以提供帮助吗?
答案 0 :(得分:-2)
最好的方法是不存在,您需要查询具有所有可能日期值的表:
SELECT ALLDATECOLUMN FROM ALLDATES
WHERE
NOT EXISTS (SELECT 1 FROM MYDATES WHERE MYDATES = ALLDATECOLUMN)
AND ALLDATECOLUMN BETWEEN 21-07 AND 25-05