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

Hierarchiczna instrukcja wyboru/wstawienia bazy danych (SQL Server)

Jeśli używasz programu SQL Server 2005 lub nowszego, możesz użyć zapytań rekurencyjnych, aby uzyskać informacje. Oto przykład:

With tree (id, Name, ParentID, [level])
As (
    Select id, Name, ParentID, 1
    From [myTable]
    Where ParentID = 0

    Union All

    Select child.id
          ,child.Name
          ,child.ParentID
          ,parent.[level] + 1 As [level]
    From [myTable] As [child]
    Inner Join [tree] As [parent]
    On [child].ParentID = [parent].id)
Select * From [tree];

To zapytanie zwróci wiersz żądany przez pierwszą część (Gdzie ParentID =0) i rekurencyjnie wszystkie podrzędy. Czy to ci pomaga?

Nie jestem pewien, czy rozumiem, co chcesz, aby stało się z Twoją wkładką. Czy możesz podać więcej informacji na temat oczekiwanego wyniku, gdy skończysz?

Powodzenia!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak łączyć ciągi w SQL Server za pomocą CONCAT()

  2. SQL Server:parametry ORDER BY w instrukcji IN

  3. Co to jest plik MDF?

  4. Przesyłanie arkusza Excel i importowanie danych do bazy danych SQL Server

  5. C#, sp_executesql i nieprawidłowa składnia