【问题标题】:Export Results of multiple dissimilar queries to Excel?将多个不同查询的结果导出到 Excel?
【发布时间】:2017-05-31 15:42:11
【问题描述】:

我没有 SSRS/Visual Studio,我在 SSMS 中运行多个查询。 第一个查询提供所有数据的总体摘要:

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 电子表格中 - 手动或其他方式?

【问题讨论】:

    标签: excel tsql ssms


    【解决方案1】:

    我会检查以通过OPENQUERY/OPENDATASOURCE/OPENROWSET 实现这一目标。

    最后两个可能比第一个更适合excel,但我不能告诉你哪个更好。

    要使用此功能,您需要在 SQL 实例上激活 ad hoc queries,否则您将收到有关临时查询被禁用的错误消息。

    如果你 google 这个,你会发现大多数人用它来从 Excel 中检索数据,但推送也可以。为此,请写“insert/insert into”而不是“select from”。您可能有一个工作示例here

    由于您有三个“select”语句,您需要将其转换为三个“INSERT INTO OPENROWSET”语句。但是,为了使其工作,excel 文件必须事先存在,否则 OpenRowSet 将无法打开,因为您需要指定 excel 文件和电子表格。因此,只需在 sql 实例所在的 SERVER 可以访问的网络共享上保存一个空文件。

    否则,要手动执行,只需单击 SSMS 中结果网格的左上角。这将选择所有结果选择。然后右键单击复制并将其粘贴到您的 Excel 电子表格中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 2023-03-10
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多