使用可能的Group By子句协助SQL查询?

时间:2012-06-24 00:31:39

标签: sql sql-server

我已经在.NET工作了一段时间,但是当谈到SQL世界时,我仍然是一个很好的入门级别。我需要一些帮助来构建我认为应该是简单查询的内容。

我有一个关联实体,允许一个表中的客户拥有多个电话号码(存储在单独的表中)。获取与该特定客户相关的数字很简单。但是,我需要一个查询才能显示共享电话号码的客户。

我想也许这可以使用GROUP BY子句并指定HAVING Count(*)>来完成。 1(或其他),但它没有得到我正在寻找的结果......

需要这样做,因为它违反了我们在BLL中实施的业务逻辑,需要加以解决。

1 个答案:

答案 0 :(得分:2)

我会加入电话号码并再次返回给客户,这样您就可以显示以及 匹配号:

SELECT c1.*, c2.*, p1.phone_number
FROM customer c1
JOIN customer_phone_number p1 ON p1.customer_id = c1.id
JOIN customer_phone_number p2 
    ON p1.phone_number = p2.phone_number and p2.customer_id != p1.customer_id 
JOIN customer c2 ON c2.id = p2.customer_id