来自sql server中两个不同服务器的多个表的不同值

时间:2017-05-08 15:55:26

标签: sql-server

我在两个不同的服务器上有多个表。要求是从不同区域获取不同的车辆经销商名称。十个区域分组在单个服务器中,其他15个区域分组在其他服务器中。 我使用了UNION ALL,因为我读取它会检索唯一值。但它显示了经销商名称两次,因为两台服务器具有相同的经销商名称。

[服务器1] ABC Co(加州地区)

[服务器2] ABC Co(纽约地区)

但我希望只显示一个值作为ABC Co,尽管它的区域。任何帮助非常感谢?

1 个答案:

答案 0 :(得分:1)

在您的工会周围放置一个DISTINCT(或聚合)查询

SELECT DISTINCT * FROM 
(
    --your original query goes here
    SELECT * FROM Server1
    UNION ALL
    SELECT * FROM Server2
) A

- 或 -

SELECT CompanyName, Count(ZoneName) AS RepeatCount
FROM
(
    --your original query goes here
    SELECT CompanyName, ZoneName, etc FROM Server1
    UNION ALL
    SELECT CompanyName, ZoneName, etc FROM Server2
) A
GROUP BY CompanyName