КОПИРОВАТЬ с ВЫБРАТЬ результат запроса? (в postgresql) - PullRequest
0 голосов
/ 14 ноября 2010

В postgresql мне нужно вставить данные, скажем, в таблицу B из SQL-запроса, который получает запрос из таблицы A и таблицы C. Этот пример - лучший, который я могу получить:

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-файл и скопируйте, но это означает, что я не изучаю что-то новое:)

Заранее спасибо.

1 Ответ

4 голосов
/ 14 ноября 2010
  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'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...