Необходимо объединить данные в две таблицы из-за разделения импорта CSV

Я создал базу данных SQL для хранения данных SFDC = я использовал мастер импорта для загрузки данных из еженедельного экспорта в SFDC. Некоторые из более крупных объектов были разбиты на несколько CSV-файлов - будучи новичком, я получил две таблицы, которые мне нужно объединить. Есть ли способ, кроме слияния, что я могу сделать это? После долгих исследований это единственный ответ, который я нашел. Я искал "добавление" старой школы - есть ли возможность использовать такую ​​простую команду?

1 ответ

Вы можете использовать оператор INSERT, который выбирает данные из одной таблицы и вставляет в другую таблицу, если она еще не существует.

Вот два примера, основанные на предположении, что для каждой строки есть уникальное поле идентификатора. Я не уверен, что один из них работает лучше, чем другой.

Используя LEFT OUTER JOIN чтобы определить, существует ли запись в основной таблице:

INSERT INTO dbo.SFDCData (UniqueID INT, Name VARCHAR(50), OtherColumns VARCHAR(300))
SELECT wt.ID, wt.Name, wt.OtherColumns
FROM dbo.SFDCData_WorkTable1 wt
LEFT OUTER JOIN dbo.SFDCData dest ON dest.ID = wt.ID
WHERE dest.UniqueId IS NULL --true only if name doesn't already exist in dbo.SFDCData

Используя NOT IN подзапрос, чтобы определить, существует ли запись в основной таблице:

INSERT INTO dbo.SFDCData (UniqueID INT, Name VARCHAR(50), OtherColumns VARCHAR(300))
SELECT wt.ID, wt.Name, wt.OtherColumns
FROM dbo.SFDCData_WorkTable1 wt
WHERE wt.UniqueId NOT IN (Select UniqueID from dbo.SFDCData )
Другие вопросы по тегам