Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Заявка за дърво на SQL Server

WITH  OrganizationsH (OrgParentFK, OrgPK, OrgName, level, Label) AS
(
    SELECT OrgParentFK, OrgPK, OrgName, 0, CAST(OrgName AS VARCHAR(MAX)) As Label
    FROM Organizations
    WHERE OrgParentFK IS NULL
    UNION ALL
    SELECT o.OrgParentFK, o.OrgPK, o.OrgName, level + 1,  CAST(h.Label + '/' + o.OrgName  VARCHAR(MAX)) As Label
    FROM Organizations o JOIN OrganizationsH h ON o.OrgParentFK = h.OrgPK
)

SELECT OrgParentFK, OrgPK, OrgName, level, Label
FROM OrganizationsH
WHERE OrgPK = 5

h/t към marc_s



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запазване на промените след редактиране на таблицата в SQL Server Management Studio

  2. Най-добри практики за сериализация на DateTime в .NET 3.5

  3. SQL заявка:Необходим е ред по брой, повечето трябва да са отгоре, останалите следват

  4. Дефиниране на връзка един към един в SQL Server

  5. Текстът, ntext и графичните данни> типовете не могат да се сравняват или сортират, освен когато се използва оператор IS NULL или LIKE>