Я пытаюсь написать код SQL в MS Access, который мог бы сравнить несколько полей из 2 таблиц и создать новое со всеми значениями, где хотя бы одно поле из таблицы 2 не равно полю из таблицыодин.
t1:
ID personalID lastname firstname city postcode street houseNumber
1 1456 lastname01 firstname01 city01 4789 street01 46
2 5783 lastname02 firstname02 city02 1239 street02 21
3 1698 lastname03 firstname03 city03 6578 street03 98
t2:
ID personalID lastname firstname city postcode street housenumber
2 5783 lastname02 firstname02 city99 1593 street99 29
3 1698 lastname03 firstname03 city03 6578 street03 98
4 2517 lastname04 firstname04 city04 7321 street04 7
ожидаемый результат:
ID personalID lastname firstname city postcode street housenumber
2 5783 lastname02 firstname02 city99 1593 street99 29
4 2517 lastname04 firstname04 city04 7321 street04 7
в 2: новый адрес (новый почтовый индекс города, улица и номер дома)
в 4: новое поле
Обе таблицы связаны с помощью идентификационной клавиши.
Мой код:
SELECT
*
FROM
t2
RIGHT JOIN t2
ON
t2.personalID = t1.personalID
AND t2.city = t1.city
AND t2.postcode = t1.postcode
AND t2.street = t1.street
AND t2.houseNumber = t1.houseNumber
WHERE
t2.personalID IS NULL
OR t2.city IS NULL
OR t2.postcode IS NULL
OR t2.street IS NULL
OR t2.houseNumber IS NULL;
Ошибка: ошибка синтаксиса в операции JOIN
Я полагаю, что операция RIGHT JOIN правильная, так как я хочу соединить t2 с t1 (но только показать значения в t2), но я не уверен, что оператор AND или OR правильный (в случае, если personalID существует в обеих таблицах, нотолько некоторые поля (например, улица) были изменены).
Заранее спасибо за помощь.