Экспорт данных из электронной таблицы в базу данных Pgsql

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

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

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


person skazhy    schedule 03.06.2009    source источник


Ответы (1)


В 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".

person Andomar    schedule 03.06.2009