MySQL语法版本不兼容

SELECT
    d.dept_id, 
    d.dept_name,
    (    
    SELECT
        _dept_id 
    FROM
        (
        SELECT
            @r AS _dept_id,
            ( SELECT dept_type FROM sys_dept WHERE dept_id = @r ) _dept_type,
            ( SELECT @r := parent_id FROM sys_dept WHERE dept_id = _dept_id ) AS parent_id,
            @l := @l + 1 AS lvl 
        FROM
            ( SELECT @r := d.dept_id, @l := 0 ) vars,
            sys_dept d 
        HAVING
        ( @r != 0 )) a 
    WHERE
        _dept_type = 1 
    ORDER BY
        lvl 
        LIMIT 1 )
FROM
    sys_dept  d
WHERE
    del_flag = '0'
 

有这样一个SQL语句MySQL8.0版本可以运行,但是无法在5.3版本上执行,有没有办法能让它可以在5.3版本运行,这个SQL就是实现查询每个子节点的父节点

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^