从SELECT查询结果中复制? (在postgresql中)

时间:2010-11-14 13:17:21

标签: sql postgresql

在postgresql中, 我需要从sql查询中插入数据,比如从表A和表C获取查询的表B. 这个样本是我能得到的最好的样本:

SELECT (SELECT bic FROM bank where name='Bank Foo'), curr_id FROM currency where alpha_id = 'AUD' OR alpha_id ='NZD' OR alpha_id ='SGD';

结果是这样的:

 ?column? | curr_id
----------+---------
 xyz      |      9
 xyz      |     66
 xyz      |      4

我的问题是:
1)如何使结果更漂亮,而不是?列?该字段应显示'bic'?
2)要向表B插入数据,我想我只是使用COPY,但我不知道如何从上面的查询语句中获取数据。可能吗? 欢迎任何更好的建议。
(通常我使用来自csv文件的COPY,好吧我知道你们可以说只是将结果复制粘贴到csv文件并复制但是 这意味着我没有学到新东西:)

提前谢谢。

1 个答案:

答案 0 :(得分:4)

  1. 为列添加别名SELECT (SELECT bic FROM bank where name='Bank Foo') bic, curr_id ...

  2. INSERT INTO可以进行查询。例如INSERT INTO B SELECT (SELECT bic FROM bank where name='Bank Foo'), curr_id FROM currency where alpha_id = 'AUD' OR alpha_id ='NZD' OR alpha_id ='SGD'