Исходные данные:3 таблицы со следующими полями:
- таблица benefit_balances – данные об остатках баллов клиентов на начало каждого дня:
CODE – идентификатор клиента
BAL_DATE – дата
VALUE – остаток баллов клиента CODE на дату BAL_DATE
- таблица benefit_points – данные о всех транзакциях начислений и трат баллов
CODE - идентификатор клиента
DIRECTION - принимает два значения: 1 - начисление и 0 - трата
CREATED_AT - дата начисления/траты
CUST_SUM - сумма начисления/траты
- таблица calendar – календарь (вспомогательная, можно обойтись без нее)
START_DATE – список всех дат со дня основания Точки по сегодняшний день
Ваша задача:
Написать SQL-запрос, который будет проверять, что таблицы
benefit_balances и
benefit_points согласованы между собой, т.е. для каждого клиента и всегда выполняется:
Остаток
t = Остаток
t-1 + Начисления
t-1 - Траты
t-1