Sql 基于嵌套选择返回两个相关结果
我在SQL Server数据库的用户表中有以下数据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
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在回答中所说的那样。