sql >> Database teknologi >  >> RDS >> Sqlserver

SQL-forespørgsel til overordnet-underordnet kæde

Brug en rekursiv 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

Resultater:

id
---
3
2
1


  1. ETIMEDOUT fejl ved forespørgsel i mysql database

  2. En til en relation, der involverer flere tabeller

  3. Kan ikke få MySQL-kildeforespørgsel til at virke ved hjælp af Python mysqldb-modul

  4. Hibernate opretter ikke tabel i databasen