2013-07-18 81 views
0

早上好專家。多服務器查詢

我真的需要一些我試圖創建的報告。到目前爲止,我擁有它,但唯一可以實現它的方法是創建兩個單獨的報告,然後將它們合併到Excel中。即使這樣,Excel也需要很多工作或時間來準備計算。 該報告是供應商的管道報告,但是針對特定的製造商。我正在使用來自2個不同服務器的2個查詢。

  • 查詢1。 「機會」上的所有產品。我將列出部件號,成本和銷售。

  • 查詢2。供應商數據庫的所有產品。我只拉我關心的製造商。它將列出部件號,製造商名稱和列表。我還必須修改製造商名稱以保持一致。例如思科可以是「思科軟件」,「思科硬件」,「思科授權」,我需要這個只是CISCO。我用CASE聲明來處理這個問題。我想根據標價報告。該查詢最多可以有20萬行。

在Excel中我把查詢和做一個VLOOKUP相匹配的部件號,並把製造商和價格表。然後我可以樞軸轉動。

我正在使用tSQL來構建我的查詢。

+0

聽起來像你需要一個簡單的外連接。 T-SQL到目前爲止你已經嘗試過了什麼?你有從一個數據庫到另一個數據庫的鏈接服務器? – JamieA

回答

0

理想的情況下,我們可以做一些澄清這裏的細節做的,但是有一些簡單的假設,我相信,你正在尋找的東西像下面生成匹配的數據集,

此解決方案假定你有一組鏈接服務器的,

SELECT Q1.PartNumber, Q1.Cost, Q1.Sell, Q2.PartNumber, Q2.ManufacturerName, Q2.List 
FROM (SQL to generate results for Query 1) AS Q1 
INNER JOIN (SQL to generate results for Query 2) AS Q2 
ON Q1.PartNumber = Q2.PartNumber 

這將有效地返回兩個數據集,並加入他們在一起會得到你,你可以運行在Excel數據透視點。

2

要在一個查詢中執行此操作,您需要設置一個鏈接服務器。我會檢查你公司的DBA,看看他們是否願意設置,或者如果你有管理員訪問這些服務器,你可以自己設置(here是關於爲SQL Server 2008設置鏈接服務器的信息。一旦完成,您將使用4部分命名引用不同的服務器,數據庫和表格,然後加入部件號,然後處理其餘的魔法。另一個選擇是使用SQL Server集成服務來加入你的2個數據集。

如果你發佈了你的2個查詢,這將有所幫助