2017-03-31 452 views
0

請幫我組成這個查詢。SQL Server 2008,條件選擇查詢

我有一個表是這樣的:

Row Product Role    
------------------- 
1 ABC-1  Self 
2 ABC-2  Self 
3 ABC-2  Joint 
4 ABC-3  Self 
5 ABC-3  Joint 
6 ABC-4  Self 

我想去的地方只作用是自我獲取只有那些產品行。在從給定的表換句話說,SQL查詢應該只輸出行1 & 6.輸出應該是這樣的

Row Product Role    
------------------- 
1 ABC-1  Self 
6 ABC-4  Self 

謝謝

+0

謝謝。我有一個查詢運行一堆連接獲取數據,這將是子查詢。某處我錯過了連接,並且沒有檢索任何數據。 – suji

回答

1

您可以使用NOT EXISTS

SELECT * 
FROM dbo.YourTable t 
WHERE NOT EXISTS(SELECT 1 FROM dbo.YourTable 
       WHERE Product = t.Product 
       AND Role <> 'Self'); 
+0

@TimSchmelter哦,當然這就是我說的;) – Lamak

1

你可以使用WHERE NOT EXISTS爲此:

Select * 
From YourTable T 
Where Not Exists 
(
    Select * 
    From YourTable T1 
    Where T.Product = T1.Product 
    And  T1.[Role] <> 'Self' 
) 
And T.[Role] = 'Self'