将多个查询的输出保存到文件中?

时间:2016-11-09 14:53:50

标签: sql-server ssms

我有一个sql查询,我必须针对 SQL Server Management Studio 中的多个(15)表运行。

是否可以将多个查询的结果保存到文件中? (.txt,excel表?)

不可能使用union,因为并非所有表都具有相同的行数。

查询看起来有点像


select *
from tableA
where main_id in(select id from maintable where date is null and status ='new')

select * from tableB where main_id in(select id from maintable where date is null and status ='new')

select * from tableC where main_id in(select id from maintable where date is null and status ='new')

select * from tableD where main_id in(select id from maintable where date is null and status ='new')

select * from tableE where main_id in(select id from maintable where date is null and status ='new')

3 个答案:

答案 0 :(得分:2)

请尝试以下方法: -

  1. 打开SQL Server Management Studio
  2. 转到工具>选项>查询结果> SQL Server>结果到文本
  3. 然后在右侧,将输出格式更改为逗号分隔。
  4. 运行您的查询,然后右键单击结果,然后单击将结果保存到文件。
  5. 完成后,将文件从.rpt重命名为.csv

答案 1 :(得分:2)

对于上面的答案感到困惑的人(就像我曾经那样,因为它不起作用),您应该转到“查询”菜单,查看“结果到...”,然后选择“归档”或任何一个想。

如上所述,将rpt更改为csv。

请确保明显重新运行查询。

答案 2 :(得分:0)

如果您希望对一个文件产生多个查询,则可以执行以下步骤:

  1. 为您拥有的每个SQL查询创建视图。这只是出于加载目的。
  2. 您可以在SQL Server Management Studio中使用“导入-导出”向导。右键单击数据库>任务>导出数据。
  3. 在向导中,选择SQL Server数据库作为源,并选择Excel文件作为目标。
  4. 选择导出多个表并选择视图作为源,并且在目标excel中,将在excel文件中提及一个单独的工作表作为目标。
  5. 转到向导中的下一步并完成向导
  6. 现在,视图数据将被加载到目标Excel中的单独工作表中
  7. 现在,您可以删除视图,因为您不需要它们

以上所有操作都可以在SSMS中完成。

还有许多其他选项可以从Multiple ways to export data from SSMS into separate files加载数据