-- 支持多级部门结构SELECT d.*, p.dept_name as parent_name
FROM departments d
LEFTJOIN departments p ON d.parent_id = p.dept_id
WHERE d.status=1ORDERBY d.sort_order;
构建企业组织架构树
支持无限级部门嵌套
实现部门层级关系管理
便于组织结构调整和人员管理
2. 数据权限控制
-- 获取用户所在部门及其下级部门的数据SELECT*FROM business_data
WHERE dept_id IN(SELECT dept_id FROM departments
WHERE parent_id =(SELECT dept_id FROM users
WHERE user_id = ?
));
-- 部门维度统计示例SELECT
d.dept_name,COUNT(u.user_id)as user_count,SUM(p.amount)as total_amount
FROM departments d
LEFTJOIN users u ON u.dept_id = d.dept_id
LEFTJOIN projects p ON p.dept_id = d.dept_id
GROUPBY d.dept_id;
-- 部门合并处理示例UPDATE users
SET dept_id = new_dept_id
WHERE dept_id = old_dept_id;UPDATE departments
SETstatus=0WHERE dept_id = old_dept_id;
2. 部门拆分处理
-- 部门拆分处理示例INSERTINTO departments (dept_name, parent_id)VALUES('新部门1', parent_id),('新部门2', parent_id);-- 更新用户部门归属UPDATE users
SET dept_id = new_dept_id
WHERE user_id IN(selected_user_ids);
3. 跨部门数据处理
-- 跨部门数据访问控制CREATEVIEW v_cross_dept_data ASSELECT*FROM business_data
WHERE dept_id IN(SELECT dept_id FROM user_departments
WHERE user_id =CURRENT_USER());