基于嵌套SELECT返回两个相关结果

时间:2015-10-22 00:54:43

标签: sql sql-server

我在SQL Server数据库的用户表中有以下数据

ID    Name    Manager    Employee
_________________________________
1     Greg    17         50
2     Bob     50         54
3     Jim     54         65

我试图用一个查询一次只提取两条记录 - 这就是我所拥有的:

SELECT * FROM USERS WHERE MANAGER ID = 50 AND EXISTS (SELECT * FROM USERS WHERE EMPLOYEE = 50)

然而,这只会拉动第一张唱片。期望的结果是记录1和1。 2(或2& 3,3和4等)。如何修改此查询以返回正确的结果?

1 个答案:

答案 0 :(得分:4)

我想你想要OR

SELECT u.*
FROM USERS u
WHERE MANAGER_ID = 50 OR EMPLOYEE = 50;

这也可以写成:

SELECT u.*
FROM USERS u
WHERE 50 IN (MANAGER_ID, EMPLOYEE);