Обучение SQL
дистанционно
от 1000.00 руб.
Для себя Задание: 1. Собрать баланс на даты указанные в таблице С. 2. Рассчитать отклонение от среднего значения баланса на каждый MOB. Для каждого клиента и продукта. 3. Вывести транспонированный результат. Значение баланса на каждую отчетную дату должно содержаться в отдельном столбце. Что содержится в каждой таблице: A - Таблица продаж овердрафтов B - Поведенческий профиль балансов от MOB овердрафта C - Таблица календарь Что означает каждое поле: customer - ID клиента product_type - Тип подпродукта овердрафта month_come - Месяц продажи limit - Выданный лимит овердрафта MOB - Month of Birth (месяц жизни) limit_usage - Доля использованного лимита к текущему MOB date - Отчетная дата Таблицы имеют следующий вид (прописал запросом на создание): 1. CREATE TABLE A( customer VARCHAR(50), product_type VARCHAR(50), month_come DATE, limited INTEGER NOT NULL); INSERT INTO A (customer, product_type, month_come, limited) VALUES ('a', 'X', '2023-04-30', 100000), ('b', 'Y', '2023-04-30', 100000), ('e', 'X', '2023-04-30', 12000), ('c', 'X', '2023-05-31', 200000), ('d', 'Y', '2023-05-31', 50000); 2. CREATE TABLE B( MOB INT NOT NULL, product_type VARCHAR(50), limit_usage DECIMAL(8, 2)); INSERT INTO B (MOB, product_type, limit_usage) VALUES (1, 'X', 0.05), (2, 'X', 0.10), (3, 'X', 0.15), (4, 'X', 0.20), (5, 'X', 0.25), (6, 'X', 0.30), (7, 'X', 0.35), (8, 'X', 0.35), (9, 'X', 0.36), (10, 'X', 0.36), (11, 'X', 0.36), (12, 'X', 0.37), (13, 'X', 0.37), (14, 'X', 0.38), (15, 'X', 0.38), (16, 'X', 0.38), (17, 'X', 0.39), (18, 'X', 0.39), (19, 'X', 0.39), (20, 'X', 0.40), (21, 'X', 0.40), (22, 'X', 0.41), (23, 'X', 0.41), (24, 'X', 0.41), (1, 'Y', 0.06), (2, 'Y', 0.11), (3, 'Y', 0.16), (4, 'Y', 0.21), (5, 'Y', 0.26), (6, 'Y', 0.31), (7, 'Y', 0.36), (8, 'Y', 0.36), (9, 'Y', 0.37), (10, 'Y', 0.37), (11, 'Y', 0.37), (12, 'Y', 0.38), (13, 'Y', 0.38), (14, 'Y', 0.39), (15, 'Y', 0.39), (16, 'Y', 0.39), (17, 'Y', 0.40), (18, 'Y', 0.40), (19, 'Y', 0.40), (20, 'Y', 0.41), (21, 'Y', 0.41), (22, 'Y', 0.42), (23, 'Y', 0.42), (24, 'Y', 0.42); 3. CREATE TABLE C( rep_date DATE); INSERT INTO C(rep_date) VALUES ('2024-01-31'), ('2024-02-28'), ('2024-03-31'), ('2024-04-30'), ('2024-05-31'), ('2024-06-30'), ('2024-07-31'), ('2024-08-31'), ('2024-09-30'), ('2024-10-31'), ('2024-11-30'), ('2024-12-31');