Я пытаюсь вставить строки в таблицу «Данные», если они еще не существуют.SQL INSERT Отсутствуют строки из таблицы A в таблицу B
Для каждой строки в Export $ мне нужен код для проверки «данных» для строк, которые соответствуют периоду (дате) и идентификатору (int) - если строки еще не существуют, то они должны быть созданы.
Я уверен, что моя часть «НЕ СУЩЕСТВУЕТ» неправильная - какой лучший способ сделать это? Спасибо за вашу помощь
IF NOT EXISTS (SELECT * FROM Data, Export$ WHERE Data.ID = Export$.ID AND Data.Period = Export$.Period)
INSERT INTO Data (Period, Performance, ID)
SELECT Period, [Return], [ID] FROM Export$
На первый взгляд вы не существует часть выглядит хорошо. Как вы думаете, что с этим не так? –
Неправильно то, что это предотвратит вставку любых строк, если любые (возможно, другие) строки соответствуют (может быть много, которые могут быть импортированы). – GilM
О! Вы пытаетесь вставить «отсутствующие записи» * из * 'Export $'? Если да, посмотрите 'MERGE'. Кроме того, '' между данными и экспортом есть CROSS JOIN - я рекомендую против такого синтаксиса. – 2013-02-12 23:53:51