如何在 Microsoft SQL Server Management Studio 中编写查询,然后在 Excel 中使用该查询

如何在 Microsoft SQL Server Management Studio 中编写查询,然后在 Excel 中使用该查询

我有一个 Excel 文件,我想打开它,点击刷新,它会从 SQL 服务器中提取数据,然后我处理数据并创建一些仪表板。我确实有这个,但我提取的数据太多了,需要一个更复杂的查询和一些连接来缩小范围。

我可以从 Excel 中查询 SQL Server。我可以编辑查询(它只是文本),但它很乏味,有点像在黑暗中行走,因为使用 Excel 进行查询时错误消息毫无用处。我曾经使用 Excel 附带的名为 MSQuery 的 .exe 来执行此操作(但它会阻塞很多东西)。

我可以使用 Microsoft SQL Server Management Studio 编写我想要的查询。

您可能认为我可以在 Studio 中编写查询,然后将查询剪切并粘贴到 Excel 中,但语法似乎略有不同。具体来说,在 Studio 中,在编写查询之前,您必须选择数据库,因此 SQL 查询中的 FROM 语句以 dbo.vSomeViewName 开头。而在 Excel/MSQuery 中,您无需指定数据库,因此查询中的 FROM 语句以 TheDataBaseName.dbo.vSomeViewName 开头。除此之外,还有一些我不明白的其他区别。

我感觉我错过了一些书中认为显而易见或不需要的基本知识。

答案1

我经常在 Excel 和 SQL Server Studio 之间复制和粘贴查询,但并没有遇到您描述的问题。只要在 Excel 中的连接字符串中标识了数据库,那么您就不需要将数据库名称放在每个表或列名称前面。

或者,您可以在查询开始时指定数据库名称:

use database

答案2

当我想粘贴 SQL Server 查询时,我执行以下步骤:(假设 Excel 2007)

  1. 数据 > 来自其他来源 > 来自 SQL Server
  2. 输入服务器名称
  3. 选择您想要的数据库,然后从表列表中选择一个小表。
  4. 点击“确定”
  5. 选择表格工具>设计选项卡,单击刷新下的箭头,单击连接属性。
  6. 单击“定义”
  7. 将命令类型更改为“SQL”
  8. 将您的查询粘贴到“命令文本”框中。点击确定。

这对我一直很有效。

相关内容