У меня есть две таблицы с данными клиентов, обе с одинаковыми столбцами и одинаковыми идентификаторами клиентов.
Обе таблицы были извлечены из базы данных с интервалом в 3 месяца между ними, поэтому я ожидаю, что некоторые значения столбцы будут изменены для некоторых клиентов.
Схема таблицы выглядит так:
customerID | location | phone | address
Идентификатор клиента всегда один и тот же, но местоположение, телефон и адрес могут измениться. Некоторые из значений также могут быть NULL, но большинство из них не являются значениями NULL.
Как мне написать сценарий SQL, который может обнаруживать эти изменения и подсчитывать их, чтобы я мог лучше визуализировать их?
Пока у меня есть:
with t1 as (
select distinct customerID
, phone
from table1
),
t2 as (
select distinct a.customerID
, b.phone
from table1 a
left join table2 b on a.customerID = b.customerID
)
select customerID, phone
from t1
except
select customerID, phone
from t2
Я не уверен, что это правильный logi c, если бы кто-то мог придумать более эффективное решение.