私はかなり複雑な SQL タスクを使用する SQL Server の初心者であり、これまでに見つけた解決策はどれも以下の問題に適合しません。
現在、メンバーがメンバーシップに支払った年/期間ごとに1行のメンバーシップ加入情報(以下の抜粋)を保持するデータベーステーブルがあります。会員は、1年・期間の退会と後日の再入会が可能です。以下の抽出 1 の内容が抽出 2 になるような 1 つの行として、各連続メンバーシップを表す必要があります。
抜粋 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