mysql中的递归函数recursive

递归部门

 WITH recursive dept_tree AS (
        SELECT
        sd.mine_id AS mine_id,
        sd.dept_id AS dept_id,
        sd.tenant_id AS tenant_id,
        sd.order_num,
        sd.dept_name AS topName,
        sd.dept_id AS topId
        FROM
        sys_dept sd
        WHERE
        <!-- 加上or后也会查询出dept节点  sd.parent_id = #{deptId} or sd.dept_id = #{deptId}  UNION ALL-->
        sd.parent_id = #{deptId} UNION ALL
        SELECT
        sd1.mine_id AS mine_id,
        sd1.dept_id AS dept_id,
        sd1.tenant_id AS tenant_id,
        pt2.order_num,
        pt2.topName AS topName,
        pt2.topId AS topId
        FROM
        sys_dept sd1
        JOIN dept_tree pt2 ON sd1.parent_id = pt2.dept_id
        ) SELECT
        topId,
        topName,
        tenant_id,
        order_num,
        mine_id
        FROM
        dept_tree
        ORDER BY  order_num

查出来每个部门的煤矿封装到实体返回。

    <resultMap id="mineIdsMap" type="org.dromara.common.tools.base.MineIdsBaseVo">
        <result column="topId" property="topId"/>
        <result column="topName" property="topName"/>
        <result column="tenant_id" property="tenantId"/>
        <result column="order_num" property="orderNum"/>
        <collection property="mineIds" ofType="string">
            <result column="mine_id"/>
        </collection>
    </resultMap>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值