У меня есть две разные базы данных. В обоих есть таблица, называемая фруктами. Теперь я хочу обновить вторую базу данных по отношению к первой базе данных. Для этого я сравниваю каждую строку по всем значениям столбцов (кроме столбца ID) в первой базе данных с каждой строкой во второй базе данных и получаю те строки, в которых есть разница. запрос я использую этоСравнение строк из 2 таблиц в 2 разных базах данных
SELECT A.* FROM db1.Fruit A
Left Outer Join Fruit B ON
(A.Ratings = B.Ratings AND A.Name = B.Name AND A.Color = B.Color)
where B.Ratings IS NULL OR B.Name IS NULL OR B.Color IS NULL
Table in the first databaseTable in the second database.
Теперь в результате он должен показать строку с идентификатором 3, где имя Kiwi, а цвет зеленый. Но он также показывает строку с ID 4 с именем Banana, поскольку другие столбцы имеют значение null, и в моем запросе я пишу, что возвращаю строку, если B.Ratings IS NULL or B.Color IS NULL
.
Так есть ли другой способ сравнить 1 строку таблицы от 1 до 1 строки таблицы 2 по всем столбцам (кроме столбца ID) и вернуть те строки, в которых есть несоответствие в любом из значений столбца?
Добро пожаловать в SO. Код лучше всего понимать при чтении кода вместо его перевода на английский. Укажите [MCVE]. – user463035818