2015-10-22 20 views
0

我已經在SQL Server數據庫中的用戶表以下數據返回兩個相關結果基於對嵌套SELECT

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 & 3,等等3)。我如何修改此查詢以返回正確的結果?

+1

使用'UNION ALL'代替。 –

+0

這樣做!我看了一下這麼簡單的操作員。 –

+0

您也可以使用'OR',正如@Gordon Linoff的回答中所述。 –

回答

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