Собесов

SQL — сводная таблица «N-й по счёту договор за 2020» по полу клиента

SQLWindow-функции и pivotСложнаяMiddle

Условие

Есть две таблицы:

  • CLIENTS_TABLE(CLIENT_ID, CLIENT_NAME, BIRTHDAY, GENDER, ...)
  • LOANS_TABLE(LOAN_ID, CLIENT_ID, LOAN_DATE, LOAN_AMOUNT, ...)

Каждый клиент может иметь несколько договоров. Договор, оформленный клиентом впервые, — «первый», следующий — «второй» и т.д.

Нужно построить SQL-запрос для сводной таблицы:

Год оформления 1-й договор 2-й договор 3-й договор ...
Мужчины ... ... ...
Женщины ... ... ...

То есть: количество N-х по счёту договоров, оформленных в 2020, в разрезе пола клиента. Диалект SQL — любой.

Тестовые данные:

INSERT INTO CLIENTS_TABLE VALUES
  (1, 'bob',   '20200115', 'male'),
  (2, 'rocky', '20200215', 'female'),
  (3, 'like',  '20200215', 'female'),
  (4, 'ricky', '20200215', 'male');
 
INSERT INTO LOANS_TABLE VALUES
  (1,  1, '20200115', 10000), (2,  2, '20200215', 20000),
  (3,  3, '20200315', 30000), (4,  4, '20200415', 40000),
  (5,  1, '20200116', 15000), (6,  2, '20200315', 35000),
  (7,  3, '20200315',  5000), (8,  1, '20200115',  1500),
  (9,  2, '20200115',   500), (10, 1, '20200115',  1500);

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти