首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在postgresql中输出多个sql查询的结果

在postgresql中输出多个sql查询的结果
EN

Stack Overflow用户
提问于 2013-06-09 10:37:46
回答 4查看 21.2K关注 0票数 10

我已经在我的本地机器上安装了postgresql-9.2 (运行windows 7),我也是管理员。我正在使用查询工具pgAdmin III查询我的数据库。我的问题如下:

假设我有两个表Table_ATable_B,它们的列数不同。另外,假设我有以下两个非常简单的查询:

代码语言:javascript
复制
select * from Table_A;
select * from Table_B;

我想同时运行这两个查询,并查看这两个查询的输出。我不介意在GUI或文件中看到输出。

我还尝试了copy命令并输出到csv。但是,它没有附加到文件中,而是覆盖它。因此,我总是只获得查询2的结果。GUI也会发生同样的情况。

注释一个查询,运行另一个查询,输出到两个不同的文件,然后将这两个文件合并在一起,这真的很烦人。

EN

回答 4

Stack Overflow用户

发布于 2015-12-30 03:45:35

PostgreSQL目前不支持这一点-来自docs (http://www.postgresql.org/docs/9.4/interactive/libpq-exec.html):

命令字符串可以包含多个SQL命令(用分号分隔)。在单个PQexec调用中发送的多个查询在单个事务中被处理,除非查询字符串中包含显式的BEGIN/COMMIT命令将其划分为多个事务。但是请注意,返回的PGresult结构只描述从字符串执行的最后一个命令的结果。如果其中一个命令失败,则字符串的处理将随之停止,返回的PGresult将描述错误情况。

票数 9
EN

Stack Overflow用户

发布于 2013-06-10 16:55:09

您的问题不取决于客户端。

假设所有列都为text类型,请尝试以下查询:

代码语言:javascript
复制
SELECT col_a AS col_ac, col_b AS col_bd
      ,NULL::text AS col_e, NULL::text AS col_f
FROM   table_a

UNION  ALL
SELECT col_c, col_d, col_e, col_f
FROM   table_b;

列名和数据磁带由UNION SELECT的第一个分支定义。剩下的就得排队了。

票数 3
EN

Stack Overflow用户

发布于 2022-06-16 19:28:40

与查询工具不同,顶部菜单中的PSQL (pgadmin4)提供多个查询的结果。在PSQL命令行工具中,您可以输入两个或多个由分号分隔的查询,并将得到每个查询的显示结果。缺点是,这是一个命令行工具,所以如果您有大量数据,结果并不理想。当我有很多更新要串在一起,并且我想看到每个更新的行数时,我就使用它。对于结果很小的select查询,这将很好地工作。psql工具

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17008749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档