2017-08-01 18 views
0

同じメールと名前が複数のメンバーで共有されている場合にのみレコードを取得するために、下の表にクエリを書く必要があります。例以下では、私は重複を選択し、重複していない列に基づいて選択します

100   [email protected]  nameA 
300   [email protected]  nameA 

Member email    name 
100   [email protected]  nameA 
100   [email protected]  nameA 
300   [email protected]  nameA 
200   [email protected]  nameB 
+0

あなたの質問はまだ分かりません。 –

+0

あなたの説明によると、なぜメンバー200を期待していますか?代わりにメンバー100が必要ですか? –

答えて

0

としてのResultSet必要私はあなたのタイプミスがあり、あなたの期待どおりの結果に代わり200100を意味疑います。もしそうなら、一方通行があります:

with your_table(Member, email , name) as (
    select 100,'[email protected]','nameA' union all 
    select 100,'[email protected]','nameA' union all 
    select 300,'[email protected]','nameA' union all 
    select 200,'[email protected]','nameB' 
) 

-- below is actual query: 

select distinct your_table.* 
from your_table 
inner join (
    select email , name from your_table 
    group by email , name 
    having count(distinct Member) > 1 
) t 
on your_table.email = t.email and your_table.name = t.name 
+0

fahadとotoにお詫び申し上げます。私は結果セットを修正しました。あなたが両方とも仮定すると100になるはずです –

関連する問題