2017-03-31 1 views
0

이 쿼리를 작성하는 데 도움을주십시오.SQL 서버 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'