我需要在下面的表上编写一个查询,只有当同一个电子邮件和名称由多个成员共享时才能获取记录。在下面的示例中,我需要将结果集作为
100 a@a.com nameA
300 a@a.com nameA
表
Member email name
100 a@a.com nameA
100 a@a.com nameA
300 a@a.com nameA
200 b@b.com nameB
答案 0 :(得分:0)
我怀疑你有拼写错误,你的意思是100
而不是200
。如果是这样,那么有一种方法:
with your_table(Member, email , name ) as (
select 100,'a@a.com','nameA' union all
select 100,'a@a.com','nameA' union all
select 300,'a@a.com','nameA' union all
select 200,'b@b.com','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