Mysql 查詢部門下所有部門

2021-09-25 16:56:58 字數 765 閱讀 1981

話不多說,直接上sql:

select dept_id,dept_name from (

select

t1.dept_id,

t1.dept_name,

if(find_in_set(parent_id, @pids) > 0, @pids := concat(@pids, ',', dept_id), 0) as ischild

from (

select

dept_id,

parent_id,

dept_name

from ls_cendev.sys_dept t order by parent_id, dept_id

) t1,

(select @pids := '112') t2

) t3 where ischild != 0 or dept_id = '112'

查詢結果:

說明:「@pids := '112'」,是你要查詢的部門,如查詢委辦局下所有部門,則條件就是『112』。

若查詢部門下所有部門去掉sql最後的「or dept_id = '112'」條件。

若查詢本部門,以及本部門下所有部門就要加上「or dept_id = '112'」條件。

若只查詢dept_id或dept_name,則根據需要查詢即可,該sql都可拿到。

查詢所有上級部門的SQL

create table testdept deptid int identity 1,1 primary key,deptname varchar 16 superdept int insert into testdept deptname,superdept values 總經辦 0 inser...

不確定下鑽數的迴圈 部門下所屬部門 多層下鑽

下鑽5層部門,無法動態確定 只能處理5層部門 for tsdepart tsd departslist 動態下鑽多層 不定下鑽次數 迴圈 public mapdoallfor tsdepart tsdepart map.put departsid departsid map.put childsli...

查詢部門及其子部門相關方案總結

公司需求 匯入員工資訊時。需判斷當前管理員的許可權,當前管理員為超級管理員時可以匯入公司所有部門的員工資訊,部門管理員只能匯入本部門及以下子部門的員工資訊,特定部門只能匯入特定部門的資訊。思考 特定部門和所有部門的容易實現,但是查詢部門及其子部門不易實現。1.方案一 可以在service層進行遞迴迴...