Sql server 2008 将包含多个表的SQL Server结果导出到Excel

Sql server 2008 将包含多个表的SQL Server结果导出到Excel,sql-server-2008,export-to-excel,Sql Server 2008,Export To Excel,我有一个包含69个表的数据库 请帮我把这个出口 exec sp_MSforeachtable 'select top 3 * from ?' 该行获取每个表的前3条记录,并在“结果”选项卡中打印它们(根据) 我想将结果导出到.xls文件中 我尝试了使用sp_makewebtask的方法,但我知道这已经被低估了 你能帮忙吗 非常感谢, 菲尔 p.S.数据库在MSSQL 2008上运行首先,您可能需要在查询中添加一个ORDER BY:没有它,您将从每个表中随机获得三行,这可能是您想要的,也可能不是

我有一个包含69个表的数据库

请帮我把这个出口

exec sp_MSforeachtable 'select top 3 * from ?'
该行获取每个表的前3条记录,并在“结果”选项卡中打印它们(根据)

我想将结果导出到.xls文件中

我尝试了使用sp_makewebtask的方法,但我知道这已经被低估了

你能帮忙吗

非常感谢,

菲尔


p.S.数据库在MSSQL 2008上运行首先,您可能需要在查询中添加一个ORDER BY:没有它,您将从每个表中随机获得三行,这可能是您想要的,也可能不是您想要的

接下来,这是一项一次性任务还是你会经常做的事情?如果是一次性任务,则动态生成一个查询脚本,手动运行该脚本并自己复制和粘贴结果。这可能会让您了解如何生成脚本:

select 'select top 3 * from ' + quotename(name) + ' order by SomeColumn union all '
from sys.tables
where... -- add something here if necessary

如果您需要定期这样做,我会避免使用TSQL,因为它是一种处理数据库外文件的非常糟糕的语言。相反,编写一个小脚本来连接数据库、获取数据并编写输出文件通常更容易。您可以使用对您来说最方便的任何脚本或编程语言,然后使用SQL Agent(如果您的SQL Server版本中有)进行计划。

Hi-Pondlife,感谢您的回复。是的,随机的就可以了。这是一项一次性任务。我的帖子中的脚本只做了这项工作,但问题是我不知道如何将结果导出到Excel文件中。一句话:我需要1)从69个表中随机选择3条记录,2)保存到Excel文件中。1) 已经实现了,但是我不能做2)。谢谢如果这是一项一次性任务,那么正如我提到的,您可以将结果从SSMS手动复制并粘贴到Excel中。如果所有69个表都具有相同的结构,那么我建议的查询将允许您获取一个结果集中的所有行,因此您只需复制和粘贴一次,而不是69次。