Запрос SQL Server для консолидации дат

Я пытаюсь создать ключ на основе идентификатора плюс код плюс начальная дата, которая охватывает диапазон дат и объединяет идентификатор + код до тех пор, пока не появится другой идентификатор + код. Вот данные:

ID      CODE        EFFECTIVE     TERM
9950    H0504402    07/01/2007    08/31/2007
9950    H0504404    09/01/2007    01/31/2008
9950    H0504402    02/01/2008    01/21/2009
9950    H0504402    03/01/2009    01/21/2010
9950    H0504404    02/01/2010    02/11/2011
9950    H0504404    03/01/2011    NULL

Результат, который я пытаюсь получить:

KEY                       EFFECTIVE     TERM
9950_H0504402_20070701    07/01/2007    08/31/2007
9950_H0504404_20070901    09/01/2007    01/31/2008
9950_H0504402_20080201    02/01/2008    01/21/2010
9950_H0504404_20100201    02/01/2010    NULL

SQL Server 2005.

Любая помощь приветствуется, как обычно, под прицелом, и мозг мертв на этом. Спасибо.

5
задан t-clausen.dk 27 September 2011 в 15:40
поделиться