Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 如何在sql中获取唯一值_Sql Server 2005 - Fatal编程技术网

Sql server 2005 如何在sql中获取唯一值

Sql server 2005 如何在sql中获取唯一值,sql-server-2005,Sql Server 2005,所以,在它给我客户ID和地址的结果之后,但如果客户可能有2个ID,例如他或她已经注册了两次,但是地址是相同的 我怎么能按地址只取唯一的值,所以我希望地址是唯一的,如果有两个不同的ID,但它们具有相同的地址,那么sql只能保留1个值 请帮忙 如果我正确理解了您的问题,我建议使用按地址分组。 SELECT DISTINCT CustomerID, ADRESS FROM A LEFT JOIN B ON A.CustomerID=B.CustomerID WHERE Points > 15

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

我怎么能按地址只取唯一的值,所以我希望地址是唯一的,如果有两个不同的ID,但它们具有相同的地址,那么sql只能保留1个值


请帮忙

如果我正确理解了您的问题,我建议使用
按地址分组
SELECT DISTINCT CustomerID, ADRESS
FROM A
LEFT JOIN B
ON A.CustomerID=B.CustomerID
WHERE 
Points > 15

通过将多个客户按同一地址分组,如果有两个不同的客户住在同一地址,您将遇到问题。为了防止这种情况,您还可以通过将客户的名称添加到组中。两个同名的人住在同一个地址应该不大可能,但这种情况仍然可能发生……

您能举一些例子……让它更清楚吗?如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击“代码示例”按钮({})在编辑器工具栏上很好地格式化和语法突出显示它!如果您确实有一个具有多个ID的地址-您希望看到哪个ID?这并不重要。我所需要的只是在它前面有唯一的地址和customerid。嘿,但我需要customerid而不是他的名字。CustomerID由程序生成,因此它们是唯一的,但地址可以相同。如果我将按地址分组,sql不允许它,并要求按customerid分组。您必须在customerid行上使用聚合函数,如
MAX()
谢谢!这正是我所需要的!
SELECT ADRESS, MAX(A.CustomerID) FROM A LEFT JOIN B ON A.CustomerID=B.CustomerID WHERE Points > 15
GROUP BY ADRESS