我在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等)。如何修改此查询以返回正确的结果?
答案 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);