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


0

我有一个Excel文件,我想打开,点击refesh,它从SQL服务器中提取数据,然后我操纵数据并创建一些仪表板。我实际上有这个,但我正在接受大量数据,并需要一些更复杂的查询和一些JOIN来缩小它。

我可以从with-in Excel查询SQL Server。我可以编辑查询(它只是文本),但它有点像在黑暗中wlking因为Excel执行查询错误消息是无用的。我曾经使用Excel附带的名为MSQuery的.exe(但它在许多方面窒息)。

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

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

我觉得我错过了一些基本的东西,书籍似乎很明显或者不需要。


到目前为止,这两个答案都有很大帮助。如果可以的话,我会选择它们作为答案。
Alex于2010年

Answers:


0

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

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

use database


1
真棒迈克。这似乎是我缺少的“基本”东西。那是: Use "database"; 并且,对于连接字符串:( database=YourDatabase 我正在使用的SQL书根本没有提到USE这个词)
Alex 2010年

2

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

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

这一直对我有用。


这也有很大的帮助
Alex 2010年

对我来说,步骤5应为:选择“数据(连接)”选项卡后,单击“全部刷新”下的“反射”,然后单击“连接属性”。
DeveloperDan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.