0

我有一堆非常简单的SELECT陈述。我想将它们全部输出到同一个结果集(UI 表或文件)。这是我最近尝试过的事情:

@export on;
@export set filename="c:\test.csv";
@export set CsvColumnDelimiter=",";
SELECT TOP 1 * FROM TableName WHERE ID = 1;
SELECT TOP 1 * FROM TableName WHERE ID = 2;
SELECT TOP 1 * FROM TableName WHERE ID = 3;
SELECT TOP 1 * FROM TableName WHERE ID = 4;
SELECT TOP 1 * FROM TableName WHERE ID = 5;
@export off;

显然 CSV 文件只包含 ID 5,因为它只是覆盖。有没有办法追加?SQL或者,在 DBVis 之外是否有任何选项可以让我将所有这些 SQL 查询执行到一个结果集中?

4

3 回答 3

2

实现此目的的一种方法是使用UNION ALL返回一个结果集。

SELECT TOP 1 * FROM TableName WHERE ID = 1
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 2
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 3
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 4
UNION ALL
SELECT TOP 1 * FROM TableName WHERE ID = 5;
于 2015-12-07T17:13:10.880 回答
2

斯科特,试试:

@export on;
@export set filename="<outputfile.csv>" appendfile="true";
select * from tab;
@export set CsvIncludeColumnHeader="false";
select * from tab;
select * from tab;

这将导出带有列标题的第一个结果集和没有列标题的以下结果集。

于 2015-12-09T08:17:56.530 回答
0

在 IQ 数据库中,客户端可以设置一个选项

set option isql_show_multiple_result_sets = 'on';

2个问题:

  1. 这是哪个数据库?
  2. 可以返回多个结果集中的哪个位置?
于 2017-06-05T08:15:22.700 回答