Я пытаюсь ежедневно копировать данные из одной таблицы в другую.
В таблицу A добавлены данные от третьей стороны, и мне нужно взять любые новые данные, которые они добавили в мою таблицу, где-то в другом месте:
Итак: вставьте все записи из таблицы A, которых нет в таблице B, на основе столбца даты.
Это то, что я пробовал, но бегать нужно почти вечно и, кажется, не очень чисто.
INSERT INTO table B
PARTITION (`date_col`)
SELECT col_1, date_col
FROM A
WHERE cast(`date_col` as date) NOT IN (select `date_col` from B);
Есть ли для меня чистый и эффективный способ сделать это? Я хотел бы сохранить максимальную дату таблицы B в переменной, а затем сделать что-то вроде:
WHERE cast(`date_col` as date) > max_date_of_table_B;
Спасибо!