Jestem nowy w rozwoju SQL Server. Większość moich doświadczeń zostało zrobionych z Oracle.Zapytanie rekurencyjne SQL Server
Załóżmy, że mam poniższej tabeli, która zawiera Nominacje obiektów
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)
Spotkanie może zostać przesunięty tak, to kiedy to się stanie, nowy wiersz jest tworzony na stole z pola PrevAppointmentID zawierającego identyfikator oryginału Spotkanie.
Chciałbym złożyć zapytanie do uzyskania historię a nominacje osób. Na przykład, jeśli zgłoszenie o ID = 1 jest odkładane dwukrotnie, a te opóźnienia utworzyły spotkania o ID = 7 i ID = 12 dla tego samego PersonID, chciałbym utworzyć zapytanie, które zwróci następujące wyniki:
AppointmentID PrevAppointmentID
----------------- ----------------------
1 NULL
7 1
12 7
przypadku korzystania z Oracle pamiętam, że coś takiego można uzyskać używając CONNECT po wcześniejszym punkcie.
Czy istnieje sposób na wykonanie zapytania w celu uzyskania tych wyników?
Używam programu SQL Server 2005/2008.
góry dzięki