Tôi có bảng sau:đệ quy tự truy vấn
myTable:
+----+----------+
| id | parentID |
+----+----------+
| 1 | null |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 4 |
-----------------
tôi muốn để có được tất cả các hàng truy tìm trở lại cho đến khi không có ParentID nữa. Vì vậy " .... WHERE id = 5" sẽ cho tôi:
5, 4, 2, 1
Bill Karwin thông thường đã tạo ra một số giải thích tốt về dữ liệu thuật ngữ và cách sử dụng các giải pháp khác nhau: http://www.slideshare.net/billkarwin/models-for-hierarchical-data – Wrikken
MySQL không có CTE đệ quy nên tôi nghĩ điều này sẽ cần một con trỏ nếu bạn cần phải xử lý một chiều sâu tùy ý. Đang thay đổi cấu trúc http://dev.mysql.com/tech-resources/articles/hierarchical-data.html một tùy chọn? Hoặc chúng ta có thể giả định một số chiều sâu tối đa? Ngoài ra, hãy xem câu hỏi liên quan này http://stackoverflow.com/questions/169817/is-it-possible-to-query-a-tree-structure-table-in-mysql-in-a-single-query-to-any –
Slide của Bill Karwin thật sự rất tuyệt. – iddqd