将Postgres查询导出到同一excel文件

将Postgres查询导出到同一excel文件,excel,postgresql,Excel,Postgresql,我知道我可以使用以下方法将查询复制到csv文件: COPY ( SELECT * FROM my_table ) TO '/tmp/myfile.csv' CSV HEADER DELIMITER E'\t'; 但我需要将多个查询导出到同一个csv文件,如: COPY ( (SELECT * FROM my_table) AS tab1 (SELECT * FROM my_table2) AS tab2 (SELECT * FROM my_table3) AS tab3 (SELEC

我知道我可以使用以下方法将查询复制到csv文件:

COPY (
 SELECT * FROM my_table
) TO '/tmp/myfile.csv' CSV HEADER DELIMITER E'\t';
但我需要将多个查询导出到同一个csv文件,如:

COPY (
 (SELECT * FROM my_table) AS tab1
 (SELECT * FROM my_table2) AS tab2
 (SELECT * FROM my_table3) AS tab3
 (SELECT * FROM my_table4) AS tabN
) TO '/tmp/myfile.csv' CSV HEADER DELIMITER E'\t';

有办法吗?

只要从每个select语句中选择相同的列类型,就可以对所有select语句进行并集,如下所示。如果cola和colc不是同一类型,请将其转换为同一类型。如果字段较少,请选择静态值,例如0、NULL或类似的值

COPY (
 (SELECT cola, colb FROM my_table1) AS tab1
 UNION ALL
 (SELECT colc, cold FROM my_table2) AS tab2
) TO '/tmp/myfile.csv' CSV HEADER DELIMITER E'\t';
或者,您可以将其导出为2个文件并将其合并。使用您的代码导出到
/tmp/myfile1.csv
/tmp/myfile2.csv

然后:
cat/tmp/myfile1.csv/tmp/myfile2.csv>/tmp/combined.csv

我应该提到它们会显示不同的字段,所以我无法合并它们..我只是编辑了。。对不起,我刚刚编辑了这个问题。。它们是不同的桌子。。因此,我无法看到上面帖子中“Alternative”后面的部分,那么这些表有什么不同呢?如果您无法访问服务器,您如何访问这些文件?或者,您可以在本地计算机上的psql中使用“\copy”,这将允许您在本地保存文件。请参阅“我的编辑”,编写select语句以指定列,而不是
select*
,并使它们返回相同的数字和类型。那就行了。