У меня есть база данных MySQL, в которой хранятся иерархические данные с использованием метода Closure Table.Простой пример сценария создания базы данных следует за вопросом.Моя проблема в настоящее время заключается в том, как вытащить данные из базы данных в правильном порядке?В настоящее время я использую следующий оператор выбора.
SELECT `TreeData`.`iD`, `TreeData`.`subsectionOf`,
CONCAT(REPEAT('-', `TreePaths`.`len`),`TreeData`.`name`),
`TreePaths`.`len`,`TreePaths`.`ancestor`,`TreePaths`.`descendant`
FROM `TreeData`
LEFT JOIN `TreePaths` ON `TreeData`.`iD` = `TreePaths`.`descendant`
WHERE `TreePaths`.`ancestor` = 1
ORDER BY `TreeData`.`subsectionOrder`
Он извлекает правильную информацию, но не в правильном порядке.
Пример сценария создания базы данных с образцами данных.1007 *