Экспорт данных из электронной таблицы в базу данных Pgsql - PullRequest
0 голосов
/ 03 июня 2009

У меня есть один огромный файл электронной таблицы (более 1000 строк) и одна таблица postgreSQL. Мне нужно сравнить данные электронной таблицы с данными таблицы postgresql и добавить заполнить пустые поля таблицы данными из электронной таблицы и добавить записи, которых нет в таблице БД.

Да, я могу преобразовать (через csv) всю электронную таблицу в таблицу базы данных. Но в обоих документах есть уникальные значения, поэтому я потеряю данные при этом. Или можно сравнить 2 таблицы и заполнить пропущенные поля в таблице A данными из таблицы B?

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

1 Ответ

1 голос
/ 03 июня 2009

В SQL легко сравнивать две таблицы и вставлять строки не в одну таблицу. Например:

INSERT INTO TableA
    (col1, col2, col3)
SELECT
    col1, col2, col3
FROM SpreadSheetTable
WHERE NOT EXISTS (
    SELECT *
    FROM TableA
    WHERE TableA.col1 = SpreadSheetTable.col1
)

Этот запрос вставляет все строки из SpreadSheetTable в TableA, кроме тех строк, для которых TableA уже содержит строку с таким же значением "col1".

...