使用SQL计算表中两个日期之间的假期数
我有一个表,它有两个日期字段(下例中的日期1和日期3)。我还有一个假日表,列出了所有的假日。我希望在SQL查询中找到一种方法,能够计算两个日期值之间的假期数。有什么想法吗 示例表: Date 1 Date 2 5/1/2012 5/4/2012 8/31/2012 9/25/2012 12/23/2011 12/27/2011 Holiday Date 12/25/2011 1/1/2012 7/4/2012 9/3/2012 Date 1 Date 2 Holidays 5/1/2012 5/4/2012 0 8/31/2012 9/25/2012 1 12/23/2011 1/10/2012 2 日期1日期2 5/1/2012 5/4/2012 8/31/2012 9/25/2012 12/23/2011 12/27/2011 日期维度表示例: Date 1 Date 2 5/1/2012 5/4/2012 8/31/2012 9/25/2012 12/23/2011 12/27/2011 Holiday Date 12/25/2011 1/1/2012 7/4/2012 9/3/2012 Date 1 Date 2 Holidays 5/1/2012 5/4/2012 0 8/31/2012 9/25/2012 1 12/23/2011 1/10/2012 2 假日日期 12/25/2011 1/1/2012 7/4/2012 9/3/2012 理想输出: Date 1 Date 2 5/1/2012 5/4/2012 8/31/2012 9/25/2012 12/23/2011 12/27/2011 Holiday Date 12/25/2011 1/1/2012 7/4/2012 9/3/2012 Date 1 Date 2 Holidays 5/1/2012 5/4/2012 0 8/31/2012 9/25/2012 1 12/23/2011 1/10/2012 2 日期1日期2假期 5/1/2012 5/4/2012 0 8/31/2012 9/25/2012 1 2011年12月23日2012年10月1日使用SQL计算表中两个日期之间的假期数,sql,tsql,Sql,Tsql,我有一个表,它有两个日期字段(下例中的日期1和日期3)。我还有一个假日表,列出了所有的假日。我希望在SQL查询中找到一种方法,能够计算两个日期值之间的假期数。有什么想法吗 示例表: Date 1 Date 2 5/1/2012 5/4/2012 8/31/2012 9/25/2012 12/23/2011 12/27/2011 Holiday Date 12/25/2011 1/1/2012 7/4/2012 9/3/2012 Date 1
SELECT count (holidays.date) AS holiday_count
FROM holidays, table
WHERE holidays.date BETWEEN table.date_1 AND table.date_2
应采取以下措施:
select date1, date2, t.total
from datestable, (select count(*) as total
from holidaystable
inner join datestable
on holidaydate between date1 and date2) t;
这太完美了。非常感谢你!