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

Làm cách nào để lấy id tổ tiên cho độ sâu đệ quy tùy ý trong một truy vấn SQL?

SELECT c.id, b.id, a.id 
FROM T 
INNER JOIN T AS c on T.parent_id=c.id 
INNER JOIN T AS b ON c.parent_id = b.id 
INNER JOIN T as a ON b.parent_id = a.id

giả sử bảng của bạn có tên T. chưa được kiểm tra. không chắc chắn điều gì xảy ra nếu d không có ba cha mẹ, có thể bạn không hiểu gì, có thể thử THAM GIA TRÁI cho những trường hợp đó để nhận giá trị NULL cho cha mẹ lớn. Ngoài ra, THAM GIA cuối cùng không thực sự cần thiết vì bạn có thể chỉ cần chọn b.parent_id thay vì a.id, nhưng bạn biết đấy, chỉ để chuyển về nhà mẫu;)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để cấu hình Django bằng cách sử dụng pymysql làm trình điều khiển?

  2. Làm cách nào để lưu dữ liệu phiên PHP vào cơ sở dữ liệu thay vì trong hệ thống tệp?

  3. Xoay tập hợp kết quả mysql và tạo bảng / ma trận html

  4. Bảng lớn và phân tích trong MySql

  5. cách thêm cột mới mỗi khi tôi chạy chương trình python