2017-01-16 98 views
0

我沒有SSRS/Visual Studio,我正在SSMS中運行多個查詢。 第一個查詢提供了所有的數據的總體概要:將多個不同查詢的結果導出到Excel?

Select 
'All Divisions', 
Count(b.EmployeeID) As Numerator, 
Count(a.EmployeeID) As Denominator, 
Cast(Count(b.EmployeeID) As nvarchar) + '/' +  Cast(Count(a.EmployeeID) As nvarchar) As FinalRatio 

從 @ TBL1左連接 @ TBL2 b在a.EmployeeID = b.EmployeeID

第二個查詢:

Select 
    a.Division, 
    Count(b.EmployeeID) As Numerator, 
    Count(a.EmployeeID) As Denominator, 
    Cast(Count(b.EmployeeID) As nvarchar) + '/' +  Cast(Count(a.EmployeeID) As nvarchar) As FinalRatio 
From 
@tbl1 a Left Join 
@tbl2 b On a.EmployeeID = b.EmployeeID 
Group By a.Division 

...第三個有沒有彙總/彙總的所有細節。

是否可以在一次操作中將所有三個結果集導出到一個Excel電子表格中 - 手動還是其他方式?

回答

0

我會檢查,以達到這個OPENQUERY/OPENDATASOURCE/OPENROWSET

最後兩個可能比第一個更適合excel,但我不能告訴你哪個更好。

要使用此功能,您需要在SQL實例上激活ad hoc queries,否則您將收到有關即席查詢被禁用的錯誤消息。

如果你谷歌這個,你會發現,大多數人用它來從Excel檢索數據,但推動也工作。爲此,請寫入「insert/insert into」而不是「select from」。您可能有一個工作示例here。由於您有三個「選擇」語句,您需要將其轉換爲三個「INSERT INTO OPENROWSET」語句。但是,爲了這個工作,excel文件必須存在,否則OpenRowSet將無法打開,因爲您需要指定一個excel文件和一個電子表格。因此,只需在網絡共享上保存一個空文件,即SQL實例所在的SERVER即可訪問。

否則,要手動執行此操作,只需單擊SSMS中結果網格的左上角即可。這將選擇所有結果選擇。然後右鍵單擊複製並粘貼到您的Excel電子表格中。