Ich habe die folgende Tabelle:rekursive Selbst Abfrage
myTable:
+----+----------+
| id | parentID |
+----+----------+
| 1 | null |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 4 |
-----------------
Ich mag würde alle Zeilen erhalten zurückverfolgen, bis es mehr nicht parentID ist. So “.... WHERE id = 5" würde mir geben:
5, 4, 2, 1
Regelmäßige Bill Karwin erstellt einige nette Erklärung der hierarchischen Daten und wie Sie die verschiedenen Lösungen verwenden: http://www.slideshare.net/billkarwin/models-for-hierarchical-data – Wrikken
MySQL hat keine rekursive CTEs, also denke ich Dies würde einen Cursor benötigen, wenn Sie mit einer beliebigen Tiefe arbeiten müssen. Ändert sich die Struktur http://dev.mysql.com/tech-resources/articles/hierarchical-data.html eine Option? Oder können wir eine maximale Tiefe annehmen? Siehe auch diese verwandte Frage http://stackoverflow.com/questions/169817/is-it-possible-to-query-a-tree-structure-table-in-mysql-in-a-single-query-to-any –
Bill Karwins Dias sind wirklich cool. – iddqd