是否可以将多个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
任何帮助?
答案 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_tbl
,COPY tmp_copy_tbl FROM
然后INSERT ... SELECT ... FROM tmp_copy_tbl