Мы создаем хранилище данных на BigQuery, которое включает в себя данные из старой транзакционной базы данных Oracle 9 (все еще активной), которая не включает никакой индексации или временных меток.
Использование Standard SQL , Я хотел бы проанализировать изменения в некоторых таблицах, импортированных из этой базы данных.
Упрощая ситуацию, представьте, что у нас есть две версии одной и той же таблицы before
и after
следующим образом:
with before as (
select
'U123' as user, 'Gum' as product, '3' as quantity
union all
select
'U456', 'Tissue', '20'
union all
select
'U123', 'Cream', '1'
)
и
with after as (
select
'U123' as user, 'Gum' as product, '3' as quantity
union all
select
'U456', 'Tissue', '20'
union all
select
'U123', 'Cream', '3'
union all
select
'U456', 'Tomato', '5'
)
Итак, строка 4 была добавлена, а строка 3 изменена.
Каков правильный подход к сравнению данных и обнаружению изменений при отсутствии индексации и временных меток?
Итак, сравнительный метод должен вывести:
user | product | quantity
U123 | Cream | 3
U456 | Tomato | 5
Я даже не знаю, с чего начать.