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

SQL рекурсивна заявка

Просто разменете полетата в клаузата за присъединяване:

WITH CategoryTree AS
        (
        SELECT  *, 0 AS Generation    
        FROM    dbo.Category
        WHERE   CategoryName = 'Animation'
        UNION ALL
        SELECT  Cat.*, Generation + 1    
        FROM    CategoryTree
        JOIN    dbo.Category AS Cat
        ON      Cat.Id = CategoryTree.CategoryMaster
        )
SELECT  *
FROM    CategoryTree



  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 към json

  2. Използване на 3 актуализации в една и съща процедура за съхраняване? Малка грешка

  3. Нови функции в SQL Server 2017 (Database Engine)

  4. Сортиране на данни за източник на PIVOT

  5. LINQ:добавяне на клауза where само когато стойността не е нула