Я новичок в SQL Server с довольно сложной задачей SQL, и ни одно из решений, которые я нашел до сих пор, не подходит для моей проблемы ниже.Членство в SQL Server Дата Диапазон
У меня есть таблица базы данных, в которой в настоящее время содержится информация о членстве, объединяющая информацию (выдержка ниже) с одной строкой за каждый год/период, который член заплатил за членство; Член может отменить свое членство на один год/период и воссоединиться позднее. Мы должны представлять каждое непрерывное членство в один линии такого содержания экстракта-ниже становлюсь Extract 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
Мне нужно заменить содержимое приведенных выше таблиц с ниже - есть много больше записей в таблице, о котором идет речь, и я был бы весьма признателен любой помощник любого может предложить:
Extract 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
Эй, Гордон, спасибо за ваш ответ. – Babs
Эй, Гордон, спасибо за ваш ответ. Результат первого сообщения ближе к тому, чего я пытаюсь достичь; однако он содержит дополнительные строки - не могли бы вы помочь с обновленным SQL для удаления строк 2, 4, 7 и 8?(В результате работы вашего SQL против предоставленных данных в мой оригинальный пост ниже) 'member_no \t \t start_date датой_окончания 2010-01-01 \t 2014-01-01 2013-01-01 \t 2014-01 -01 2005-01-01 \t 2008-01-01 2007-01-01 \t 2008-01-01 2005-01-01 \t 2010-01-01 2010-10 -13 \t 2013-01-01 2009-01-01 \t 2010-01-01 2012-01-01 \t 2013-01-01' – Babs
@Babs. , , Виноват. Во втором коррелированном подзапросе я оставил «порядок». –