如何在sql中获取唯一值

时间:2011-02-09 07:48:22

标签: sql-server-2005

SELECT DISTINCT CustomerID, ADRESS
FROM A
LEFT JOIN B
ON A.CustomerID=B.CustomerID
WHERE 
Points > 15

所以在它给我带有customerID和地址的结果之后,但是如果客户可能有2个ID,例如他或她已经两次注册,那么地址是相同的。

我如何才能通过地址获取唯一值,所以我希望该地址是唯一的,如果有两个不同的ID,但它们具有相同的地址,则sql必须只留下1个值。

请帮忙!

2 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,我建议使用GROUP BY address。 通过使用相同的地址对多个客户进行分组,如果有两个不同的客户居住在同一地址,您将遇到问题。为防止这种情况,您还可以将客户的名称添加到组中。两个同名的人住在同一个地址的情况应该不太可能,但仍然可能发生......

答案 1 :(得分:0)

SELECT ADRESS, MAX(A.CustomerID) FROM A LEFT JOIN B ON A.CustomerID=B.CustomerID WHERE Points > 15
GROUP BY ADRESS