OA项目中关于数据表递归查询
2018-03-16 15:59
190 查看
例如知道某员工顶级部门id(企业id)需要查询所有员工
正常Oracle递归
SELECT DISTINCT U.*,UD.ORDER_NUM
FROM
TBL_BASE_USER U ,TBL_BASE_USER_DEPT UD,(select*from tbl_base_dept t start with t.dept_id='17052413401200000190' connect by t.dept_parent_id=prior t.dept_id ) A
where
U.USER_ID = UD.USER_ID
AND U.USER_TYPE != '1000'
AND U.USER_TYPE IS NOT NULL
AND UD.DEPT_ID=A.DEPT_ID
ORDER BY ud.order_num
为了支持Mysql数据库,部门表中有id_path列,存放所有上级部门id,所以我们只需查找所有id_path中有当前顶级部门id的部门id
SELECT DISTINCT U.*,UD.ORDER_NUM
FROM TBL_BASE_USER U ,TBL_BASE_USER_DEPT UD
where
U.USER_ID = UD.USER_ID
AND U.USER_TYPE != '1000'
AND U.USER_TYPE IS NOT NULL
AND UD.DEPT_ID in(select dept_id from tbl_base_dept where id_path like CONCAT(CONCAT('%,','17052413401200000190'),',%'))
ORDER BY ud.order_num
正常Oracle递归
SELECT DISTINCT U.*,UD.ORDER_NUM
FROM
TBL_BASE_USER U ,TBL_BASE_USER_DEPT UD,(select*from tbl_base_dept t start with t.dept_id='17052413401200000190' connect by t.dept_parent_id=prior t.dept_id ) A
where
U.USER_ID = UD.USER_ID
AND U.USER_TYPE != '1000'
AND U.USER_TYPE IS NOT NULL
AND UD.DEPT_ID=A.DEPT_ID
ORDER BY ud.order_num
为了支持Mysql数据库,部门表中有id_path列,存放所有上级部门id,所以我们只需查找所有id_path中有当前顶级部门id的部门id
SELECT DISTINCT U.*,UD.ORDER_NUM
FROM TBL_BASE_USER U ,TBL_BASE_USER_DEPT UD
where
U.USER_ID = UD.USER_ID
AND U.USER_TYPE != '1000'
AND U.USER_TYPE IS NOT NULL
AND UD.DEPT_ID in(select dept_id from tbl_base_dept where id_path like CONCAT(CONCAT('%,','17052413401200000190'),',%'))
ORDER BY ud.order_num
相关文章推荐
- 关于java项目操作优化查询数据
- 关于orcale数据库查询一段时间内数据的问题
- .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程
- 资源list:Github上关于大数据的开源项目、论文等合集
- sqlserve2000 关于100万数据查询优化
- 关于利用DataGrid进行数据查询、修改操作
- 项目中常用但查询有比较麻烦的数据,怎么进行初始化。
- 一个项目的经验教训:关于打乱和拆分数据
- 关于 “不允许从数据类型 sql_variant 到 uniqueidentifier 的隐式转换。请使用 CONVERT 函数来运行此查询“的最终解决
- Github上关于大数据的开源项目、论文等合集
- 关于laravel 数据查询方法all() ,无返回值,不报错
- JavaWeb项目查询数据库获得数据显示在jsp页面上
- OA项目之操作EXCEL导出数据报表的类
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- 关于sql server的一种简单用法——在上面写查询语句,即可在下面修改数据
- 关于SQL查询效率,100w数据,查询只要1秒
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询
- 做数据库繁体转简体项目后,关于对数据表操作时要注意几点
- 项目当中遇到要获取本月之前的数据列表查询
- 关于SQL Server SQL语句查询分页数据的解决方案