2016-08-03 46 views
0

我在尝试做一个查询来发现哪一天员工不工作。有没有办法检索日期的时间间隔为行MS-SQL?

例如:

如果我检索所有21/0725/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)** 

任何人都可以帮助吗?

回答

-2

最好的办法是用不存在,则需要查询具有所有可能的日期值的表:

SELECT ALLDATECOLUMN FROM ALLDATES 
WHERE 
NOT EXISTS (SELECT 1 FROM MYDATES WHERE MYDATES = ALLDATECOLUMN) 
AND ALLDATECOLUMN BETWEEN 21-07 AND 25-05 
相关问题