1

複数の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

何か助けはありますか?

4

1 に答える 1

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、テーブルでしか機能しないことです (詳細はこちら)。

したがって、次のことを行う必要がありCREATE TEMP TABLE tmp_copy_tblますCOPY tmp_copy_tbl FROMINSERT ... SELECT ... FROM tmp_copy_tbl

于 2012-12-05T10:11:13.373 に答える