Я записал все запросы для обработки бинарного дерева, только большинство левых узлов находится в ожидании. также я получил решение для этого на stackoverflow, но это для SQL, но я хочу это в Mysql вот ссылка Решение SQL Link. Кто-нибудь может изменить это для меня в MYSQL.
вот моя хранимая процедура MYSQL
CREATE DEFINER=`root`@`localhost` PROCEDURE `getLeftMost`(IN `iNode` INT)
BEGIN
DECLARE left_id int;
DECLARE prev_id int;
SET prev_id=iNode;SELECT lnode into left_id from binTree where nodeid=iNode;
CREATE TEMPORARY table IF NOT EXISTS temp_table as (select * from binTree where 1=0);
TRUNCATE table temp_table;
WHILE left_id <> 0 DO
INSERT INTO temp_table SELECT * FROM binTree where nodeid=prev_id;
SET prev_id=left_id;
SELECT lnode into left_id from binTree where nodeid=prev_id;
END WHILE;
SELECT lnode as `leaf_node` FROM temp_table order by nodeid desc limit 0,1;
END
Спасибо
Задача ещё не решена.
Других решений пока нет …