【发布时间】:2014-08-26 19:26:33
【问题描述】:
我有一张桌子 X:
id startDt EndDt
---------------------------------------------------------------------
1 1/1/1900 9/30/2012
2 10/2/2012 10/4/2012
3 10/3/2012 10/7/2012
4 11/5/2012 11/15/2012
我需要编写一个查询,从另一个表 Y 中选择所有行,其中 EventDate 位于 X 的每个开始日期和结束日期之间。
也就是说,结果集应该是 Y 中所有记录的并集,其中日期在每行的开始日期和结束日期之间。 (1900 年 1 月 1 日至 2012 年 9 月 30 日之间的所有日期 + 2012 年 10 月 2 日至 2012 年 10 月 7 日之间的所有日期 + 2012 年 11 月 5 日至 2012 年 11 月 15 日之间的所有日期)
我确实有一个执行此操作的工作程序,但解决方案是使用循环,如果可能,我想在查询中执行此操作。
谢谢!
【问题讨论】:
标签: sql sql-server tsql