1.查询江苏省所有子记录id
2.表结构和数据
3.sql语句
SELECT
id
FROM
(
SELECT
t1.dept_id id,
IF
( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', dept_id ), 0 ) AS ischild
FROM
( SELECT dept_id, parent_id FROM sys_dept ORDER BY parent_id, dept_id ) t1,
( SELECT @pids := 要查询的菜单节点 id) t2
) t3
WHERE
ischild != 0
4在navicat中执行sql
执行结果
if语句类似三目运算符,当exprss1成立时,执行express2,否则执行express3;
FIND_IN_SET(str,strlist),str 要查询的字符串,strlist 字段名 参数以”,”分隔 如 (1,2,6,8),查询字段(strlist)中包含(str)的结果,返回结果为null或记录
如果parent_id 在@pid中,则将@pid 里面再加上parent_id,按行依次执行