合并和重复

时间:2016-07-19 20:06:58

标签: sql sql-server sql-server-2008

我有这个有多列的地址表。我想将街道号和街道名称列连接为地址,并检查地址是否唯一。

SELECT ( street_num + ' ' + street_name ) AS Addr 
FROM  [propertyaddress_workfinal] AS t1 
      INNER JOIN (SELECT ( street_num + ' ' + street_name ) AS A2 
                  FROM  [propertyaddress_workfinal]) AS t2 
              ON t1.addr = t2.a2 
WHERE  Count(*) > 1 

我收到错误并指出无效的列名称' Addr'。

在这里做些傻事。

1 个答案:

答案 0 :(得分:2)

这是做到这一点的方法

SELECT street_num + ' ' + street_name AS Addr 
FROM  [propertyaddress_workfinal]
GROUP BY street_num + ' ' + street_name
HAVING Count(*) > 1 

虽然连接的空格不是你的重复匹配

的组成部分
GROUP BY street_num, street_name

如果在这两列上有复合索引,效果会更好。