sql >> Databáze >  >> RDS >> Sqlserver

Jak získat úroveň hierarchie tohoto dotazu

Musíte přidat sloupec s názvem Level (nebo jak to nazvat) – jak do „kotvy“ SELECT, tak i do rekurzivní části vašeho CTE – takto:

WITH CategoryRec AS 
(
    SELECT Id, Parentid, Name, 1 AS 'Level'
    FROM dbo.Category

    UNION ALL

    SELECT cr.Id, c.Parentid, cr.Name, cr.Level + 1 
    FROM CategoryRec AS cr 
    INNER JOIN dbo.Category AS c ON cr.Parentid = c.Id
    WHERE c.Parentid IS NOT NULL
)
SELECT DISTINCT Id, Parentid, Name, Level
FROM  CategoryRec


  1. Jak vytvořit objekt JSON v MySql s booleovskou hodnotou?

  2. MySQL – Operand by měl obsahovat 1 sloupec(y)

  3. Více příkazů INSERT mysql v jednom dotazu php

  4. mysql odborová otázka