У меня есть две структурно идентичные таблицы, table2 является подготовительной площадкой для новых данных, которые будут использоваться при массовом обновлении table1.
Мне нужно выяснить, какие строки будут обновлены в таблице1. Я хочу игнорировать те строки, которые будут вставлены и те, которые будут удалены. Меня просто интересуют обновленные строки, в которых первичный ключ остается прежним, но одно или несколько других полей в строке содержат разные данные.
На данный момент наиболее близким является следующее утверждение.
SELECT table2.* FROM table2
INNER JOIN table1
ON table1.primarykey = table2.primarykey
WHERE table1.field1 != table2.field1
OR table1.field2 != table2.field2
OR table1.field3 != table2.field3
Возвращает 0 строк.
РЕДАКТИРОВАТЬ: запрос на самом деле работает. Возникла проблема с самими данными. Я собираюсь немного поболтать лицом.
Спасибо всем за ваш вклад.