Sql 基于嵌套选择返回两个相关结果

Sql 基于嵌套选择返回两个相关结果,sql,sql-server,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 A

我在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和2(或2和3、3和4等)。如何修改此查询以返回正确的结果?

我想您需要

SELECT u.*
FROM USERS u
WHERE MANAGER_ID = 50 OR EMPLOYEE = 50;
这也可以写成:

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

我想你想要

SELECT u.*
FROM USERS u
WHERE MANAGER_ID = 50 OR EMPLOYEE = 50;
这也可以写成:

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

改用
联合所有人
。成功了!我看过这么简单的运算符。你也可以使用
,正如@Gordon Linoff在回答中所说的。改为使用
联合所有的
。这样做了!我看过这么简单的操作符。你也可以使用
,正如@Gordon Linoff在回答中所说的那样。