我有两张桌子:
一个是临时日历表"表1"所有日期都在2012-01-01和今天之间。
Date
----------
2012-01-01
2012-01-02
.....
2015-10-04
2015-10-05
第二是"表2"使用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
我想设计一个查询,对于第一个表中的每个日期,计算此日期在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
非常感谢!
答案 0 :(得分:1)
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