这个mysql的递归查询在dm数据库下执行报错,该如何优化?
SELECT
dept_id AS deptId,
dept_name AS deptName,
sq_code AS sqCode
FROM
(
SELECT
t1.dept_id,
t1.dept_name,
t1.sq_code,
IF
( FIND_IN_SET( parent_id, @pid ) > 0, @pid := CONCAT( @pid, ',', dept_id ), 0 ) AS childId
FROM
( SELECT dept_id, parent_id, sq_code, dept_name FROM sys_dept t WHERE del_flag = 0 ORDER BY parent_id, dept_id ) t1,
( SELECT @pid := 1 ) t2
) t3
WHERE
( childId != 0 OR dept_id = 1 )
AND sq_code IS NOT NULL
两种方式兼容@
1:设置COMPATIBLE_MODE=4,兼容 MySQL 数据库
2:设置MS_PARSE_PERMIT=1,可以通过 @ 定义 session 级别变量
报错截图和相关表结构贴一下