1

我正在尝试选择具有相同邮政编码的客户姓名,但我似乎无法获得正确的结果。应该返回的正确行是 11。我似乎得到了 14 使用以下内容:

SELECT a.customer_first_name, a.customer_last_name, a.customer_zip FROM customers a
UNION
SELECT b.customer_first_name, b.customer_last_name, b.customer_zip FROM customers b

从这里我有点卡住了。我知道这两个陈述是相同的,但这是我到达的基础。

我打算使用以下内容:

WHERE a.customer_zip=b.customer_zip

但是,这当然是行不通的,而且有点无关紧要。

客户表:

客户表

任何帮助将非常感激。如果我遗漏了什么和/或不清楚,那么我道歉。谢谢。

编辑:正确的结果应该是 11 行(我似乎无法实现)。

4

2 回答 2

2

我会做:

select customer_zip
from customers 
group by customer_zip
having count(customer_zip)>1

编辑:

这将给出重复 ZIP 的列表。基于它,您可以轻松地找到带有这些 zip 的客户,其中 select * from customers where customer_zip in (previous_query)

于 2012-10-12T13:01:32.513 回答
1
SELECT customer_first_name, customer_last_name, customer_zip
FROM customers where customer_zip in 
  (SELECT customer_zip FROM customers
   GROUP BY customer_zip
   HAVING COUNT(*) > 1);
于 2012-10-12T13:07:20.843 回答