Итак, у меня есть таблица такая:
id|root|kw1|kw2|kw3|kw4|kw5|name
1| A| B| C| D| E| F|fileA
2| A| B| | | | |fileB
3| B| C| D| E| | |fileC
4| A| B| | | | |fileD
(несколько сотен строк ...)
И мне нужно поместить его в дерево, как показано ниже:
*A
*B
-fileB
-fileD
*C
*D
*E
*F
-fileA
*B
*C
*D
*E
-fileC
Я почти уверен, что стол накрыт плохо, но это то, с чем мне приходится жить.
Я немного читал о модели списка смежностей и об изменении дерева предзаказов, но я не думаю, что мои данные выложены правильно. Я думаю, что для этого требуется рекурсивная функция, но я совсем не уверен, как это сделать.
Я открыт для любых идей о том, как это сделать, даже если это означает извлечение данных в новую таблицу просто для обработки этого.
Есть ли у меня хорошие варианты или есть хорошие способы сделать это? (Примеры бонуса конечно)