CustomerName EmailAddress
Aaron aaron@gmail.com
Christy aaron@gmail.com
Jason jason@gmail.com
Eric eric@gmail.com
Aaron bob@gmail.com
我想返回表中的值,其中customerName等于且emailaddress不相等。所以例如这个表应该返回。
Aaron aaron@gmail.com
Aaron bob@gmail.com
我是sql的新手,我不确定如何首先将其分解为checkign,客户名是相同的,然后查看emailaddresses
答案 0 :(得分:1)
按customername
分组,然后计算您拥有的唯一电子邮件数量
select customername
from your_table
group by customername
having count(distinct emailaddress) > 1
如果您还需要结果中的电子邮件,则可以
select customername, emailaddress
from your_table
where customername in
(
select customername
from your_table
group by customername
having count(distinct emailaddress) > 1
)
答案 1 :(得分:1)
您可以使用self-join:
完成此操作Select * from tablename a, tablename b
WHERE a.customername = b.customername
and a.emailaddress != b.emailaddress
这里有效:http://sqlfiddle.com/#!2/75687/1
你提到的只想要一个结果。然后你只需修改上面的内容:
Select Distinct(a.customername) from tablename a, tablename b
WHERE a.customername = b.customername
and a.emailaddress != b.emailaddress
此版本的工作版本:http://sqlfiddle.com/#!2/75687/3