基本上,我有一个支持用户表,不同部门有不同级别的用户。
所以我想说我基本上有下表:
id | userID | deptID | level
1 1 1 1
2 119 1 2
3 2 1 3
4 101 2 1
5 104 2 2
我有id
号码,所以我想说,我想让所有用户deptID
与id
3
中的用户相同,从而返回前三行。
那将是什么样的SQL语句?
答案 0 :(得分:6)
您可以使用包含子查询的以下查询:
SELECT *
FROM <table>
WHERE deptID=(
SELECT deptID FROM <table> WHERE userID=3
)
答案 1 :(得分:2)
select u.*
from users u join users u2 on u.deptID = u2.deptID
where u2.id = 3
答案 2 :(得分:1)
SELECT *
FROM Users
WHERE deptID IN
(SELECT deptID FROM Users WHERE userID = 3)
答案 3 :(得分:0)
试试这个
select my.*
from myTable my
join myTable myt on my.deptID = myt.deptID
where myt.id = 3
答案 4 :(得分:0)
select * from data where deptid in (select deptid from data where id=3);
使用此查询