Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie cykliczne programu SQL Server

Przyjrzyj się używaniu tak zwanego CTE (wspólne wyrażenie tabelowe) (patrz dokument MSDN):

;with cteAppointments as (
 select AppointmentID, PersonID, PrevAppointmentID
     from Appointments
     where PrevAppointmentID is null
 union all
 select a.AppointmentID, a.PersonID, a.PrevAppointmentID
     from Appointments a
         inner join cteAppointments c
             on a.PrevAppointmentID = c.AppointmentID
)
select AppointmentID, PrevAppointmentID
    from cteAppointments
    where PersonID = xxx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zresetuj źródło tożsamości po usunięciu rekordów w SQL Server

  2. SQL Server — co się dzieje po zaktualizowaniu wiersza w tabeli?

  3. Czy INNER JOIN może zapewnić lepszą wydajność niż EXISTS?

  4. Pivot przy użyciu SQL Server 2000

  5. Grupy dostępności programu SQL Server AlwaysOn:instalacja i konfiguracja, część 2