Я выполняю следующую хранимую процедуру, чтобы получить потомков указанного c folder id
.
CREATE PROCEDURE `SP_get_folder_structure`(
I_folder_id VARCHAR(100),
I_user_id INT,
I_sys_id INT
)
BEGIN
SELECT id, parent_id, root, name, quotum, owner, fullpath, createdon, editedon FROM
(SELECT id, parent_id, root, name, quotum, owner, fullpath, createdon, editedon,
CASE WHEN id = I_folder_id THEN @idlist := CONCAT(id)
WHEN FIND_IN_SET(parent_id,@idlist) THEN @idlist := CONCAT(@idlist,',',id)
END as checkId
FROM folders WHERE sys_id = I_sys_id) as T
WHERE checkId IS NOT NULL
ORDER BY id = I_folder_id DESC, parent_id ASC, name ASC LIMIT 100;
END
Когда я выполняю этот код на MySQL Workbench, его возвращает только полный набор результатов после выполнения запроса дважды, в первый раз он возвращает только одну строку: 
Я озадачен, почему это происходит. У кого-нибудь есть идея?