Есть ли способ ввести необработанные данные в PostgreSQL для дублирования строки, кроме определенных столбцов? - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть необработанный файл csv с личной информацией, включая адреса: для каждого адреса есть два столбца и два отдельных адреса (всего четыре поля).

Так что у меня может быть Fred, Flinstone, ID#12345678, 123 Street, Apt 6, Seattle, WA, 87319, 567 5th Ave, Seattle, WA, 87321 в моемCSV вместе с несколькими другими колонками, которые мне нужны.

У меня вопрос, есть ли способ импортировать или настроить оператор CREATE TABLE, который возьмет эти данные и разделит их на две строки:

0: Fred, Flinstone ID#12345678, 123 Street, APT 6, Seattle, WA, 87319

1: Fred, Flinstone ID#12345678, 567 5th Ave, Seattle, WA, 87312

Я знаю, что есть Array_arg для разбиения массива на отдельные строки, но я не знаю о заполнении новой таблицы из него. По сути, моя проблема сейчас заключается в том, что мы настроили эту базу данных только с указанным основным / первым адресом, и теперь это вызывает значительные проблемы при попытке присоединиться к этой таблице. Я не хочу, чтобы установил две таблицы, к которым я могу присоединиться, чтобы получить оба адреса. Я просто хочу знать, есть ли способ сделать это при импорте, так как мой поиск не дал того, что я искал.

1 Ответ

0 голосов
/ 09 ноября 2019

Для этого есть два способа:

  • Использовать оболочку сторонних данных
  • Использовать таблицу копирования и подготовки.

Вы можете определитьсторонняя таблица, которая может обращаться к таблице csv, как если бы она была таблицей sql с внешней оберткой данных. Затем вы можете использовать вставку как выбор, чтобы вставить записи в таблицу назначения. Вам нужно будет выполнить вставку дважды, выбрав select: сначала для основного адреса, а затем для вторичного адреса.

Вместо использования подхода обёртки сторонних данных вы можете сначала загрузить таблицу в промежуточную таблицу с копиейкоманда. А затем используйте промежуточную таблицу для запуска вставки в качестве выбора в целевой таблице.

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