我可以将多个postgresql查询导出到一个csv文件中吗?

时间:2012-12-05 09:54:46

标签: perl postgresql

是否可以将多个postgresql查询复制到单个csv文件中? 截至目前,我正在将单个查询复制到csv文件中作为

copy (select * from table1) to 'file.csv' with csv header;

现在我想将2个查询结果一起复制。那可能吗 ?像,

copy (select * from table1,select name from table2) to 'file.csv' with csv header

任何帮助?

1 个答案:

答案 0 :(得分:3)

你可以:

copy (select 'table1' as table_id, * from table1
      UNION ALL
      select 'table2' as table_id, * from table2)
 to 'file.csv' with csv header

如果表格具有相同的结构。

或者你可以:

copy (select field1, field2, null, null from table1
      UNION ALL
      select null,null, field3, field4 from table2)
 to 'file.csv' with csv header

如果表格结构不相同。

问题是 - COPY ... FROM只能用于表格(详情here)。

所以你需要:CREATE TEMP TABLE tmp_copy_tblCOPY tmp_copy_tbl FROM然后INSERT ... SELECT ... FROM tmp_copy_tbl