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

SQL dotaz pro řetězec rodič-dítě

Použijte rekurzivní CTE :

DECLARE @id INT
    SET @id = 3

;WITH hierarchy AS (
  SELECT t.id, t.parentid
    FROM YOUR_TABLE t
   WHERE t.id = @id
 UNION ALL
 SELECT x.id, x.parentid
   FROM YOUR_TABLE x
   JOIN hierarchy h ON h.parentid = x.id)
SELECT h.id
  FROM hierarchy h

Výsledky:

id
---
3
2
1


  1. COUNT() vs COUNT_BIG() na SQL Server:Jaký je rozdíl?

  2. Pomocí sekvence Oracle vložit ID protokolu do 2 tabulek z jdbc?

  3. SSMS nyní přichází s Azure Data Studio

  4. SQL ORDER BY:5 Co dělat a co nedělat pro třídění dat jako profesionál