2017-03-31 17 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'