SQL在表中选择与“..”具有相同ID的All

时间:2013-02-07 13:38:49

标签: mysql sql

基本上,我有一个支持用户表,不同部门有不同级别的用户。

所以我想说我基本上有下表:

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号码,所以我想说,我想让所有用户deptIDid 3中的用户相同,从而返回前三行。

那将是什么样的SQL语句?

5 个答案:

答案 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);

使用此查询