zoukankan      html  css  js  c++  java
  • mysql 递归查询父节点 和子节点

    NAVICAT中截图

    表结构如下图

    随便创建一个类型的表格查询数据

    查询父节点

    代码如下

    BEGIN   
    DECLARE i varchar(100) default '';   
    DECLARE j varchar(1000) default rootId;   
      
    WHILE rootId is not null  do   
        SET i =(SELECT parent_id FROM paternal_tree WHERE id = rootId);   
        IF i is not null THEN   
            SET j = concat(j, ',', i);   
            SET rootId = i;   
        ELSE   
            SET rootId = i;   
        END IF;   
    END WHILE;   
    return j;  
    END
    

      截图如下所示

    注意下方需要加入的参数,和返回类型,类型选对。最后调用该函数就行

    查询子节点类似,这里贴上代码就行。

    BEGIN   
    DECLARE str varchar(2000);  
    DECLARE cid varchar(100);   
    SET str = '$';   
    SET cid = rootId;   
    WHILE cid is not null DO   
        SET str = concat(str, ',', cid);   
        SELECT group_concat(id) INTO cid FROM paternal_tree where FIND_IN_SET(parent_id, cid) > 0;   
    END WHILE;   
    RETURN str;   
    END
    

    这里在调用就行。

  • 相关阅读:
    IntelliJ Idea 快捷键列表
    mysql索引类型和方式
    基本git指令
    idea中deBug方法
    BeanUtils.copyProperties(A,B)使用注意事项
    MySQL字段类型
    JAVA常识1
    Redis在windows下的安装下载
    Netty
    IDEA工具
  • 原文地址:https://www.cnblogs.com/w1995w/p/10606842.html
Copyright © 2011-2022 走看看