2017-05-08 86 views
1

我在兩個不同的服務器中有多個表。要求是從不同區域獲取不同的車輛經銷商名稱。十個區域分爲單個服務器和其他服務器中的其他15個區域。 我使用了UNION ALL,因爲我讀它檢索唯一值。但由於兩臺服務器具有相同的經銷商名稱,所以它顯示了兩次經銷商名稱來自兩個不同服務器在sql server中的多個表的不同值

[服務器1] ABC公司(加州區)

[服務器2] ABC公司(以紐約區)

但我想盡管只顯示一個值作爲ABC公司的區。任何幫助非常感謝?

+0

重要的問題:如果你在兩個不同的區域有兩個「喬的汽車」這實際上是不同的公司。仍然只有一個列表?無論如何,最簡單的方法是在兩臺服務器上創建一個視圖,爲您提供不同的代理商名稱,鏈接服務器,然後在UNION查詢中查詢每臺服務器上的視圖。 –

+0

雅我希望它被列爲一個。謝謝 – user3331421

回答

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 
相關問題