2010-11-14 65 views
0

在PostgreSQL, 我需要插入的数据,从说sql查询表B中,从表A和表C. 得到查询此示例是最好的,我可以得到:从SELECT查询结果COPY? (PostgreSQL中)

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,但我不知道如何从上面的查询语句中获取数据。可能吗? 欢迎任何更好的建议。
(我通常使用COPY从csv文件,确定我知道你们可以说只是复制粘贴结果csv文件,并复制,但 这意味着我不学习新的东西:)

预先感谢您。

回答

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'

+0

非常感谢! \(^ _ ^)/ – mhd 2010-11-15 02:54:48