Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn SQL cho chuỗi cha-con

Sử dụng CTE đệ quy :

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

Kết quả:

id
---
3
2
1


  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 2008 thay đổi thu thập dữ liệu so với trình kích hoạt trong quá trình kiểm tra

  2. T-SQL:Xóa tất cả các hàng trùng lặp nhưng giữ lại một hàng

  3. Tìm kiếm danh mục / chỉ mục đầy đủ cho% book%

  4. Chọn kích thước cơ sở dữ liệu SQL Server

  5. Đã xảy ra lỗi cấp độ truyền tải khi nhận kết quả từ máy chủ