SQL Server рекурсивный запрос

Я новичок в разработке SQL Server. Большая часть моего опыта была сделана с Oracle.

Предположим, у меня есть следующая таблица, которая содержит объекты назначений

CREATE TABLE [dbo].[Appointments](
    [AppointmentID] [int] IDENTITY(1,1) NOT NULL,
    .......
    [AppointmentDate] [datetime] NOT NULL,
    [PersonID] [int] NOT NULL,
    [PrevAppointmentID] [int] NULL,
 CONSTRAINT [PK_Appointments] PRIMARY KEY CLUSTERED ([AppointmentID] ASC)

Встреча может быть отложена, поэтому, когда это происходит, в таблице создается новая строка с полем PrevAppointmentID, содержащим идентификатор исходной встречи.

Я хотел бы сделать запрос, чтобы получить историю встреч человека. Например, если назначение с ID = 1 откладывается два раза, и эти откладывания создали встречи с ID = 7 и ID = 12 для одного и того же PersonID, я хотел бы сделать запрос, который возвращает следующие результаты:

AppointmentID         PrevAppointmentID
-----------------    ----------------------
1                     NULL
7                     1
12                    7

При использовании Oracle я помню, что нечто подобное можно получить с помощью предложения CONNECT BY PRIOR.

Есть ли способ сделать запрос для достижения этих результатов?

Я использую SQL Server 2005/2008.

заранее спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос