SQLite Удалить из новой таблицы данные, которые существуют в старой таблице

Я ежедневно получаю файлы обновлений о ходе выполнения проекта, в котором нет поля даты. Я добавил столбец даты в первую таблицу и импортировал 1-ю и 2-ю таблицы в SQLIte. Теперь я хочу удалить из 2-й таблицы данные, которые уже существуют в 1-й таблице, чтобы я мог добавить новую дату во 2-ю таблицу, а затем вставить 2-ю таблицу в 1-ю таблицу. У меня проблема с удалением из второй части таблицы. Данные столбца 4 пересекаются в обеих таблицах.

Я попробовал следующий оператор SQL, но он удаляет все строки из таблицы 2:

УДАЛИТЬ из таблицы 2, ГДЕ существует (ВЫБЕРИТЕ Col4 из таблицы 1 INTERSECT SELECT Col4 из таблицы 2);

Любая помощь приветствуется.


person Arveedar    schedule 29.04.2012    source источник


Ответы (1)


Exists проверяет наличие строк в вашем подзапросе. Ваша проблема будет решена с помощью оператора «не в»

DELETE from Table2 WHERE Col4 not in (SELECT Col4 from Table1 INTERSECT SELECT Col4 from Table2);
person alexsoff    schedule 29.04.2012