【发布时间】:2015-11-16 05:25:35
【问题描述】:
我有一个存储EmployeeId, TourMonth, StartMonth, EndMonth 的表。
TourMonth 代表月份,1 代表一月,2 代表二月等等。
我想从这张表中找到给定的startdate 和enddate 之间的缺失月份。下面给出了员工 3071 从 1 月到 12 月的示例,缺少 2 月、4 月、7 月、9 月。如何从表格中获得该结果?
EmployeeId TourMonth StartMonth EndMonth
--------- --------- --------- --------
3071 1 2015-01-13 00:00:00.000 2015-01-14 00:00:00.000
3071 3 2015-03-15 00:00:00.000 2015-04-15 00:00:00.000
3071 5 2015-05-15 00:00:00.000 2015-06-15 00:00:00.000
3071 6 2015-06-15 00:00:00.000 2015-07-15 00:00:00.000
3071 8 2015-08-15 00:00:00.000 2015-09-15 00:00:00.000
3071 10 2015-10-15 00:00:00.000 2015-11-15 00:00:00.000
我想要的输出:
如果我传入startdate = 2015-01-01 和enddate = 2015-11-01 和EmployeeId = 3071,那么我应该得到:
EmployeeId MissingMonth
----------- ------------
3071 February
3071 April
3071 July
3071 September
【问题讨论】:
-
期望的输出是什么?
-
@GiorgiNakeuri 我添加了编辑问题
标签: sql sql-server-2008 sql-server-2012