我有一组日期范围同时包含部分和完全重叠的日期,就像这样:消除和减少重叠的日期范围
UserID StartDate EndDate
====== ========== ==========
1 2011-01-01 2011-01-02 <- A
1 2011-01-01 2011-01-10 <- A
1 2011-01-08 2011-02-15 <- A
1 2011-02-20 2011-03-10 <- B
2 2011-01-01 2011-01-20 <- C
2 2011-01-15 2011-01-25 <- C
使用T-SQL,我想创建一个新的数据集每个用户,以消除重复数据,扩展范围和消除在必要的冗余数据,从而导致这样的事情:如果需要
UserID StartDate EndDate
====== ========== ==========
1 2011-01-01 2011-02-15 ('A', three rows combined, extending the range)
1 2011-02-20 2011-03-10 ('B', no change, no overlaps here)
2 2011-01-01 2011-01-25 ('C', two rows combined)
光标是好的,但如果我可以毫不他们做到这一点就更好了。
什么SQL Server中,2005 +的版本? – RichardTheKiwi 2011-03-06 21:35:39
是的,SQL Server 2005+。 – 2011-03-06 21:52:31