mysql 递归查询树形机构

来源:互联网 发布:java api 1.7中文版 编辑:程序博客网 时间:2024/05/22 02:48
DROP FUNCTION IF EXISTS `di_gui`;

// 写写注释吧,省的被人骂

//就是一个存储函数,然后用while 去一直查询,

CREATE OR REPLACE FUNCTION `di_gui`(ids VARCHAR(1000))
      RETURNS varchar(1000)
        BEGIN
            DECLARE company_a VARCHAR(1000);
            DECLARE company_b VARCHAR(1000);
            DECLARE company VARCHAR(1000);
            SET company_a = '';
            SET company_b = '';
            SET company = ids;
            
            WHILE
                company !='0'
            DO
                SELECT name INTO company_b FROM sys_office where id = company ;
                SET company_a = CONCAT(company_b,company_a);
                SELECT parent_id INTO company FROM sys_office where id = company ;

            END WHILE;
        RETURN company_a;
END

//调用

SELECT di_gui(这里放树形机构的底层id) AS company;


mybiats 调用

    <select id="testDiGui"  resultType="String">
        SELECT di_gui('7e5e5563b5ae4d00a898ecaf777e6cc8') AS company
    </select>

原创粉丝点击