mysql 部門查詢 查詢所有子級,父級id


這里提供2個個人覺得比較常用的sql

一、 查詢所有子級(不包含本身)

@Select({"<script>",
            "select id from (" +
                    " select t1.id," +
                    " if(find_in_set(parent_id, @pids) > 0, @pids := concat(@pids, ',', id), 0) as ischild" +
                    " from (" +
                    " select id,parent_id from c_core_org t order by parent_id, id" +
                    " ) t1," +
                    " (select @pids := #{orgId}) t2" +
                    " ) t3 where ischild != 0",
            "</script>"})

 

二、查詢所有父級(包含本身)

"SELECT T1._id groupID" +
                    " FROM (" +
                    " SELECT" +
                    " @r AS _id," +
                    " (SELECT @r := parent_id FROM c_core_org WHERE id = _id) AS parent_id," +
                    " @l := @l + 1 AS lvl FROM (SELECT @r := #{orgId}, @l := 0) vars," +
                    " c_core_org h WHERE @r != '0'" +
                    " ) T1",

 

 

以上2個查詢id為我的主鍵 , c_core_org 是我的表名,parent_id 是我的父id字段

 

分享到此結束,

感謝觀看

如有錯誤或不足麻煩大佬提出,我及時改正

謝謝!

2021-09-26 15:46:50





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM