我在两个不同的服务器上有多个表。要求是从不同区域获取不同的车辆经销商名称。十个区域分组在单个服务器中,其他15个区域分组在其他服务器中。 我使用了UNION ALL,因为我读取它会检索唯一值。但它显示了经销商名称两次,因为两台服务器具有相同的经销商名称。
[服务器1] ABC Co(加州地区)
[服务器2] ABC Co(纽约地区)
但我希望只显示一个值作为ABC Co,尽管它的区域。任何帮助非常感谢?
答案 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