我是 SQL Server 的新手,有一个相当复杂的 SQL 任务,到目前为止我发现的解决方案都不适合我下面的问题。
我有一个数据库表,其中当前包含会员加入信息(下面的摘录),其中包含会员支付会员费的每一年/期间的一行;会员可以取消一年/期间的会员资格并在以后重新加入。我们需要将每个连续成员表示为一行,这样下面的提取 1 的内容就变成了提取 2:
提取物 1
Member_No Start_Date End_Date
--------- ---------- --------
10 2010-01-01 00:00:00.000 2011-01-01 00:00:00.000
10 2011-01-01 00:00:00.000 2012-01-01 00:00:00.000
10 2012-01-01 00:00:00.000 2013-01-01 00:00:00.000
10 2013-01-01 00:00:00.000 2014-01-01 00:00:00.000
20 2005-01-01 00:00:00.000 2006-01-01 00:00:00.000
20 2006-01-01 00:00:00.000 2007-01-01 00:00:00.000
20 2007-01-01 00:00:00.000 2008-01-01 00:00:00.000
30 2005-01-01 00:00:00.000 2006-01-01 00:00:00.000
30 2006-01-01 00:00:00.000 2007-01-01 00:00:00.000
30 2007-01-01 00:00:00.000 2008-01-01 00:00:00.000
30 2008-01-01 00:00:00.000 2009-01-01 00:00:00.000
30 2009-01-01 00:00:00.000 2010-01-01 00:00:00.000
30 2010-10-13 00:00:00.000 2011-01-01 00:00:00.000
30 2011-01-01 00:00:00.000 2012-01-01 00:00:00.000
30 2012-01-01 00:00:00.000 2013-01-01 00:00:00.000
我需要用下表替换上表的内容 - 有问题的表中有更多记录,我将非常感谢任何人可以提供的任何助手:
提取物 2
Member_No Start_Date End_Date
--------- ---------- --------
10 2010-01-01 00:00:00.000 2014-01-01 00:00:00.000
20 2005-01-01 00:00:00.000 2008-01-01 00:00:00.000
30 2005-01-01 00:00:00.000 2010-01-01 00:00:00.000
30 2010-10-13 00:00:00.000 2013-01-01 00:00:00.000