三张很简单的表,如下
表 user
----------------------------
id role_id
1 1
2 1
3 1
4 2
5 2
6 3
----------------------------表 role
----------------------------
id role
1 10
2 20
3 30表user_manager , user_id和manager_id 的值都是user表中的id
---------------------------------------------
id user_id manager_id
1 1 4 表示user 1 被 user 4管理,以下类推
2 2 4
3 3 5
4 4 6
5 5 6
现在的要求是,给定一个user id, 找出被他管的指定role的user id.比如,
给定user 6,求他所管的role为20的user ,结果是user 4,5
给定user 6,求他所管的role为10的user,结果是user1,2,3
给定user 4,求他所管的role为10的user,结果是user1,2求高手给出sql语句,谢谢!
表 user
----------------------------
id role_id
1 1
2 1
3 1
4 2
5 2
6 3
----------------------------表 role
----------------------------
id role
1 10
2 20
3 30表user_manager , user_id和manager_id 的值都是user表中的id
---------------------------------------------
id user_id manager_id
1 1 4 表示user 1 被 user 4管理,以下类推
2 2 4
3 3 5
4 4 6
5 5 6
现在的要求是,给定一个user id, 找出被他管的指定role的user id.比如,
给定user 6,求他所管的role为20的user ,结果是user 4,5
给定user 6,求他所管的role为10的user,结果是user1,2,3
给定user 4,求他所管的role为10的user,结果是user1,2求高手给出sql语句,谢谢!
解决方案 »
- 大表拆分查询问题
- 如何统计mysql字段中有多少个分号?
- 百万级数据两表对比问题
- mysql5.5复制心跳怎么应用?
- mysql里的“SHOW CHARACTER SET”和“SHOW COLLATION”有什么区别?有什么关系?
- MySQL安装配置过程中出现can't connect to mysql server on localhost 10061的错误
- 为什么order by 不起作用
- 微软群集环境中安装mysql只能通过命令mount mysql
- mysql中,"default" 怎么用?如果一个数据库中的某个字段。。。。在线等待。谢谢!
- 请教如何按一定的顺序修改某列的值
- 为什么更改ALTER TABLE account ENGINE = InnoDB;不能使用
- 把韩文复制到SQLyog编辑器里是乱码
select user_id from user_manager,role,user where user_manager.user_id=user.id and user.id=role.id and user_manager.user_id=6 and role.role=20
随手写的,你拿去运行一下看看有没有报错~希望能帮到你~
简单说就是给定一个 user,求出他所管理的指定role的user。 可能是直接管理的,也可能是跨好几级管理的。
MySQL中进行树状所有子节点的查询
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...