计算SQL服务器中日历每个日期的"active"个数

Count number of "active" for each date of a calendar in SQL Server

我有 2 个 tables:

一个是临时日历 table "Table1" 所有日期都在 2012-01-01 和今天之间。

 Date
 ----------       
 2012-01-01
 2012-01-02
 .....
 2015-10-04
 2015-10-05  

第二个是 "Table2",具有 DateStart 和 DateEnd。

 DateStart   |  DateEnd
 -------------------------
 2013-03-31  |  2013-04-30
 2013-02-01  |  2014-02-01
 2014-10-10  |  2015-01-10
 .....
 2015-03-06  |  2015-04-06

我想设计一个查询,对于第一个 table 中的每个日期,计算该日期在 DateStart 和 DateEnd 之间的次数。

我会得到类似的东西:

 Date        |  Occurrence
 ------------|------------    
 2012-01-01  |     0
 2012-01-02  |     0
 .....       
 2013-04-29  |     2
 2013-04-30  |     2
 2013-05-01  |     1
 2013-05-02  |     1
 .....
 2015-04-05  |     1
 2015-04-06  |     1
 2015-04-07  |     0

非常感谢!

SELECT dt.date,COUNT(distinct bt.ID) 
FROM Dates_table dt 
LEFT JOIN batch_table bt ON dt.date between bt.start_date and bt.end_date
GROUP BY dt.date